2、spring cloud gateway主要的配置Predicates
Predicates 写法
有两种方式配置谓词列表:简写和完整写法。
# 简写
spring:
cloud:
gateway:
routes:
- id: after_route # 唯一标识
uri: https://example.org # 代理服务URI,predicates通过后会被路由到这里
predicates: # 一组谓词
- Cookie=mycookie,mycookievalue #见完整写法
# 完整写法
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
predicates:
# 简写就是把name和args组合起来了,并且把key-value以逗号(,)的形式分割
- name: Cookie # 表明该谓词是判断Cookie
args:
name: mycookie # Cookie中是否包含name=mycookie的键
regexp: mycookievalue # name=mycookie的键值是不是=mycookievalue
Predicates 的name有多少
After 在指定时间之后的请求都被路由,可用来解决消费高峰期扩容消费服务
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
predicates:
- After=2016-01-20T17:42:47.789-07:00[Asia/Shanghai]
Before 在指定时间之前的请求都被路由,可用来解决消费高峰期扩容消费服务
spring:
cloud:
gateway:
routes:
- id: before_route
uri: https://example.org
predicates:
- Before=2016-01-30T05:42:47.789-07:00[Asia/Shanghai]
Between 在指定时间范围内请求被调用,可用来解决阶段消费高峰期扩容消费服务
spring:
cloud:
gateway:
routes:
- id: between_route
uri: https://example.org
predicates:
- Between=2017-01-20T17:42:47.789-07:00[Asia/Shanghai], 2017-01-21T17:42:47.789-07:00[Asia/Shanghai]
Cookie 当cookie中包含指定key-value时执行,value可采用正则表达式方式
spring:
cloud:
gateway:
routes:
- id: cookie_route
uri: https://example.org
predicates:
# 表示cookie中包含name=uid,并且value匹配ch.p的请求(key-value以,分割)
- Cookie=uid, ch.p
Header 验证请求头是否包含指定内容,可用于鉴权
spring:
cloud:
gateway:
routes:
- id: header_route
uri: https://example.org
predicates:
- Header=X-Request-Id, \d
Host
spring:
cloud:
gateway:
routes:
- id: host_route
uri: https://example.org
predicates:
- Host=**.somehost.org,**.anotherhost.org
Method 指定请求的Method(GET or POST等等)
spring:
cloud:
gateway:
routes:
- id: method_route
uri: https://example.org
predicates:
- Method=GET,POST
Path 很常用的一个,根据路径路由服务
spring:
cloud:
gateway:
routes:
- id: path_route
uri: https://example.org
predicates:
- Path=/red/{segment},/blue/{segment}
Query 匹配查询参数
spring:
cloud:
gateway:
routes:
- id: query_route
uri: https://example.org
predicates:
- Query=green # 查询参数有green=abc时命中
RemoteAddr 路由指定服务器发起的服务
spring:
cloud:
gateway:
routes:
- id: remoteaddr_route
uri: https://example.org
predicates:
- RemoteAddr=192.168.1.1/24
Weight 设置路由权重,灰度上线时可用于适度引流
spring:
cloud:
gateway:
routes:
- id: weight_high
uri: https://weighthigh.org
predicates:
- Weight=group1, 8 # 80% 引流到https://weighthigh.org
- id: weight_low
uri: https://weightlow.org
predicates:
- Weight=group1, 2 # 20% 引流到 https://weightlow.org
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjbhfk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01