Spring Cloud 版本:
Dalston.SR5
今天使用Zuul发现一个和动态刷新相关的问题,动态刷新使用的是 /bus/refresh,即我的Zuul连着一个Rabbitmq,我这里是使用的总线刷新的方式,普通的刷新/refresh应该也是可以再现这个坑的。
我一共有两个服务,服务名分别为one和all,刷新之前的路由规则:
zuul:
ribbonIsolationStrategy: THREAD
retryable: true
add-host-header: true
servlet-path: /zuul/*
prefix:/test
routes:#规则
n1:path: /*
serviceId: all
改为:
zuul:
ribbonIsolationStrategy: THREAD
retryable: true
add-host-header: true
servlet-path: /zuul/*
prefix:/test
routes:#规则
n0:path: /one
serviceId: one
n1:path: /*
serviceId: all
加了个n0的规则,并且放在了n1前边,按说刷新之后,如果访问/test/one,那么应该会由服务【one】来处理,而非服务【all】,结果却是仍然会交由服务【all】来处理。
很坑是不是,我觉得这是个BUG,目前我还没有研