haosamax
V2EX  ›  Java

[Zuul 动态路由] 请问如何实现不重启网关加载新增/修改的路由?

  •  
  •   haosamax · Oct 26, 2020 · 1984 views
    This topic created in 2052 days ago, the information mentioned may be changed or developed.

    刚转型微服务,网关路由这块大家都是怎么做的动态加载的?

    目前搜集到想法的有两个:1 、利用配置中心刷新配置文件; 2 、看了下 SimpleRouteLocator 这个类,其子类 DiscoveryClientRouteLocator 重写了 locateRoutes 生成了默认路由,是不是可以写一个子类继承 SimpleRouteLocator 重写了 locateRoutes(路由存一张表,查询这张表)启动时加载。修改后,写个入库调用 doRefresh()
    请问大佬们 那个可行?
    
    Supplement 1  ·  Oct 27, 2020
    老哥们,救救孩子啊~
    5 replies    2020-10-27 16:52:35 +08:00
    THESDZ
        1
    THESDZ  
       Oct 27, 2020
    1.考虑接入注册中心
    2.实现其查询路由表的接口
    haosamax
        2
    haosamax  
    OP
       Oct 27, 2020
    @THESDZ 老哥,项请教下大家都是怎么做的
    nickchenyx
        3
    nickchenyx  
       Oct 27, 2020
    注册中心是直接的,可以动态的注册。特殊需求 SimpleRouteLocator 可以继承改写从 db 读取路由数据。我做了一个分流的功能,继承 ZuulFilter 实现路由的切换,按照百分比的形式将请求分别路由到两个集群,这个是为了做迁移做的。
    haosamax
        4
    haosamax  
    OP
       Oct 27, 2020
    注册中心有的,现在就是想是想动态路由功能,考虑是用现在的配置中心读配置 还是重写 locateRoutes()读 DB
    haosamax
        5
    haosamax  
    OP
       Oct 27, 2020
    @nickchenyx 注册中心有的,现在就是想实现动态路由功能,考虑是用现在的配置中心读配置 还是重写 locateRoutes()读 DB,在纠结...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5425 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:07 · PVG 15:07 · LAX 00:07 · JFK 03:07
    ♥ Do have faith in what you're doing.