spring cloud gateway简单介绍

作者:wine_5664
链接:https://www.jianshu.com/p/35b60946b8ce
來源:简书

spring cloud gateway 通过谓词匹配路径

1.predicates:
-Path:/api/auth/** 匹配所有以api/auth开头的用户请求

  • Cookie=chocolate, value的作用是:匹配请求中存在cookiechocolate=value的所有请求
    注意:- Cookie=chocolate, value中的value是正则表达式

  • Header=X-Request-Id, \d+的作用是:匹配请求头中存在符合条件“key为X-Request-Id,value为数字”的所有请求
    注意:Header=X-Request-Id, \d+,第二个参数是正则表达式,如\d+

  • Query=param1,value的含义是: 匹配所有含有请求参数param1且它的值符合正则表达式value的请求

注意:- Query=param1,value中的value是正则表达式
注意:- Query=param1,value中的value可以省略

即可变成- Query=param1,这是匹配所有请求参数含有param1的请求并且不筛选值

作者:wine_5664
链接:https://www.jianshu.com/p/35b60946b8ce
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

其他谓词

host谓词匹配对应的host,如下匹配www.somehost.org 或 beta.somehost.org等

spring:
cloud:
gateway:
routes:
- id: host_route
uri: http://example.org
predicates:
- Host=**.somehost.org

Method方法谓词匹配如get,post等请求的方法

spring:
cloud:
gateway:
routes:
- id: method_route
uri: http://example.org
predicates:
- Method=GET

RemoteAddr为ip地址谓词,匹配对应ip地址

spring:
cloud:
gateway:
routes:
- id: remoteaddr_route
uri: http://example.org
predicates:
- RemoteAddr=192.168.1.1/24

After、Before、Between等时间谓词,分别匹配在某时之后,之前,和某段时间内的请求

谓词组合

不同谓词之间可以组合使用。它们同时存在于同一个路由时,请求必须同时满足所有的谓词条件才被这个路由匹配。

注意:一个请求满足多个路由的谓词条件时,请求只会被首个成功匹配的路由转发

配置如下

spring:
cloud:
gateway:
routes:
# 匹配指定请求参数和请求头的路由
- id: compose_route
uri: http://www.oschina.net/
predicates:
- Query=param2
- Header=Header-Route,value

spring cloud gateway 路由过滤器修改传入的HTTP请求或传出的HTTP响应
spring cloud gateway通过不同的过滤器集成其他spring cloud组件

过滤器的种类

GatewayFilter Factories: 过滤器工厂生成的网关过滤器
Global Filters: 全局过滤器

StripPrefix 过滤器
作用: 去掉部分URL路径

PrefixPath 过滤器
作用: 它的作用和StripPrefix正相反,是在URL路径前面添加一部分的前缀

Hystrix 过滤器
作用:Hystrix 过滤器允许您将断路器引入网关路由,保护您的服务免受级联故障的影响,并允许您在下游故障时提供回退响应。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值