考虑以下情况:我们有多个应用程序使用 Spring Cloud Config 读取属性,而
Spring Cloud Config 从 GIT 读取这些属性。
下面的例子中多个员工生产者模块从 Employee Config Module 获取 Eureka 注
册的财产。
第 468 页 共 485 页如果假设 GIT 中的 Eureka 注册属性更改为指向另一台 Eureka 服务器,会发生什
么情况。在这种情况下,我们将不得不重新启动服务以获取更新的属性。
还有另一种使用执行器端点/刷新的方式。但是我们将不得不为每个模块单独调用
这个 url。例如,如果 Employee Producer1 部署在端口 8080 上,则调用 http:
// localhost:8080 / refresh。同样对于 Employee Producer2 http://
localhost:8081 / refresh 等等。这又很麻烦。这就是 Spring Cloud Bus 发挥
作用的地方。
Spring Cloud Bus 提供了跨多个实例刷新配置的功能。因此,在上面的示例中,
如果我们刷新 Employee Producer1,则会自动刷新所有其他必需的模块。如果
我们有多个微服务启动并运行,这特别有用。这是通过将所有微服务连接到单个
消息代理来实现的。无论何时刷新实例,此事件都会订阅到侦听此代理的所有微
服务,并且它们也会刷新。可以通过使用端点/总线/刷新来实现对任何单个实例的
刷新。