springcloud nacos下线服务及时通知gateway

gateway是每隔30s获取一次nacos的服务列表。
那么当nacos下线了服务之后,gateway还没来得急刷新服务列表,会导致请求打到下线的服务器上。 这个怎么处理。

阅读 9.9k
1 个回答

动态刷新 gateway 中的路由。

这里用 zuul 举例子。 gateway 没用过。

zuul 中,有个接口RefreshableRouteLocator.
大致的编码请参考
初识zuul

如果,贵司的技术战 都是基于 java,那么 继承 DiscoveryClientRouteLocator 实现 RefreshableRouteLocator 接口。其他的事情什么都不用处理。

然后暴露一个接口。或者一个配置。可以触发 RoutesRefreshedEvent 事件的发布即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进