gateway可以默认通过配置开启,服务自动注册服务名为网关路由地址,
比如:服务sc-xxx,可以通过:http://gateway/sc-xx/** 进行访问,开启对应的配置如下:
spring: cloud: gateway: routes: discovery: locator: enabled: true
实现思路
- 路由信息、配置信息放在nacos中,gateway项目监听nacos对应的配置修改
- 基于SpringCloud Gateway的 RouteDefinitionWriter 接口删除和新增路由配置
- 基于事件 RefreshRoutesEvent 刷新系统中的路由配置