Spring 云配置服务器

Spring Cloud Config Server

我正在使用 Spring 云配置服务器,能够从 git 存储库中检测到更改并将其传递给配置客户端。

有两种方式,我实现了:

  1. 在 git 存储库中进行更改(提交和推送)后,我发出 curl 请求 curl -X POST http://server:port/bus/refresh 和它工作正常。为此,我使用 RabbitMQ 作为 Spring 云总线。

参考: http://tech.asimio.net/2017/02/02/Refreshable-Configuration-using-Spring-Cloud-Config-Server-Spring-Cloud-Bus-RabbitMQ-and-Git.html

  1. 在 git 存储库中进行更改(提交和推送)后,我发出 curl 请求 curl -X POST http://server:port/refresh ( url) 中没有 /bus,它工作正常。我在这里没有使用 Spring Cloud Bus。

参考:https://spring.io/guides/gs/centralized-configuration/

所以两者都工作正常,那么使用 Spring Cloud Bus 有什么优势,或者在生产环境中,没有 Spring Cloud Bus 会不会有任何问题?由于在生产环境中将 RabbitMQ 集群 (HA) 设置为 Spring Cloud Bus 需要付出额外的努力。

谢谢, 大卫

/refresh 只会刷新发出请求的配置客户端。它只在本地刷新。使用 /bus/refresh 将刷新连接到总线的所有客户端。换句话说,它将刷新所有总线客户端(如果设置了 destination 参数,则刷新一个子集)。