Spring cloud gateway 动态路由解决方案

Spring cloud gateway 动态路由解决方案

1. 数据库方式(MySQL、Redis、Postgress…)

Spring Cloud Gateway Dynamic Routes from Database

2.Yaml方式配置 url-expression+predicates

discovery:
	locator:
	  # 是否与服务注册于发现组件进行结合,通过 serviceId 转发到具体的服务实例。
	  # 默认为 false,设为 true 便开启通过服务中心的自动根据 serviceId 创建路由的功能
	  enabled: true
	  # 表示将请求路径的服务名配置改成小写  因为服务注册的时候,向注册中心注册时将服务名转成大写的了
	  lower-case-service-id: true
	  # 配置 url-expression 目的是为了在转发的时候直接转发到相应的 Service 上去
	  url-expression: "'http://'+serviceId+':'+port"
	  predicates:
		- name: Path
		  args:
			pattern: "'/api/'+serviceId+'/**'"
	  filters:
		- StripPrefix=2
  httpclient:
	connect-timeout: 6000
	response-timeout: 120s

3. 自定义

  1. 初始化(DiscoveryClient拉取所有已经注册服务进行路由配置)
  2. 服务更新事件监听(监听服务变化同步更新路由配置)
  3. 定时同步(防止服务更新事件监听失败,补差)

4. 通过Actuator API进行修改

Recap: list of all endpoints

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值