我们部署了一个Zuul代理(包含Spring Cloud / Boot),可以从Spring Config Server获取配置。每次我更改路由时,我都会重新启动Zuul应用程序,我想知道是否有更好的方法可以采取(比如刷新Zuul配置信息)? :)
谢谢,
答案 0 :(得分:2)
您可以通过休息发出刷新命令:
curl -X POST http://<host>:<port>/refresh
我编写了一个简单的bash脚本,它将我对Git存储库中配置文件的所有更改提交,然后向我的所有服务发出curl请求。
如果您想要想要的话,您可以编写一个脚本,首先查询您的Eureka
服务器以获取所有服务的列表,然后将它们全部刷新:)
答案 1 :(得分:1)
Zuul
在Git
后端配置路由时,可以动态刷新路由,例如Spring Cloud
配置服务器和Spring Cloud Bus
。
我在最近的博文Routing requests and dynamically refreshing routes using Spring Cloud Zuul Server
中介绍了这种情况答案 2 :(得分:0)
对于#1,Spring云配置引入了@RefreshScope注释,该注释将公开/ refresh端点(通过HTTP或JMX)
对于#2,在'/ refresh'之后,spring cloud配置将采用最新的git commit,对于配置更改,本质上有两种方法,1)拉取更改2)推送更改,spring cloud总线方法是基于rabbitmq来推送配置更改。
答案 3 :(得分:0)
许多存储库(例如github)都能够配置Webhook POST端点。
除了前面提到的手动执行对/ refresh端点的请求的方式之外,您还可以配置github config存储库以将/ request端点用作webhook端点。这样,您可以在推送时自动刷新属性。