参考答案
考虑以下情况:我们有多个应用程序使用 Spring Cloud Config 读取属性,而 Spring Cloud Config 从 GIT 读取这些属性。
下面图例,多个员工生产者模块从 Employee Config Module 获取 Eureka 注册的财产。
假设 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,则会自动刷 所有其他必需的模块。如果我们有多个微服务启动并运行,这特别有用。这是通过将所有微服务连接到单个消息代理来实现的。无论何时刷新实例,此事件都会订阅到侦听此代理的所有微服务,并且它们也会刷新。可以通过使用端点/总线/刷新来实现对任何单个实例的刷新。
以上,是Spring Cloud面试题【什么是 Spring Cloud Bus】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—