SpringCloud Gateway基于Nacos的动态网关

170 阅读1分钟

gateway可以默认通过配置开启,服务自动注册服务名为网关路由地址,

比如:服务sc-xxx,可以通过:http://gateway/sc-xx/** 进行访问,开启对应的配置如下:

spring: cloud: gateway: routes: discovery: locator: enabled: true

实现思路

  • 路由信息、配置信息放在nacos中,gateway项目监听nacos对应的配置修改
  • 基于SpringCloud Gateway的 RouteDefinitionWriter 接口删除和新增路由配置
  • 基于事件 RefreshRoutesEvent 刷新系统中的路由配置