使用Spring Cloud Bus自动动态刷新配置文件的流程总结
程序员文章站
2022-03-03 20:08:49
我们都知道在Spring Cloud技术中,会有一个分布式配置中心来专门管理各个微服务的配置文件。但有时就避免不了需要去修改配置,而一修改配置的话,Spring Cloud Config仅支持运维人员手动发送POST请求。当微服务实例一多之后,就需要一个又一个的发送POST请求。这样很繁琐,也没有必要,非常不符合我们讲的 “高内聚,低耦合“。这个时候就需要用到新组件了,Spring Cloud Bus。关于这个技术,我上一篇博客也记录了,这里直接进入正题。(该篇无代码)首先,分布式配置中心(Co...
我们都知道在Spring Cloud技术中,会有一个分布式配置中心来专门管理各个微服务的配置文件。但有时就避免不了需要去修改配置,而一修改配置的话,Spring Cloud Config仅支持运维人员手动发送POST
请求。
当微服务实例一多之后,就需要一个又一个的发送POST
请求。这样很繁琐,也没有必要,非常不符合我们讲的 “高内聚,低耦合“。
这个时候就需要用到新组件了,Spring Cloud Bus
。关于这个技术,我上一篇博客也记录了,这里直接进入正题。(该篇无代码)
-
首先,分布式配置中心(Config Server) 会去Git仓库上拉取配置文件,然后顺便订阅一下消息中间件中的一个主题(主题默认是
Spring Cloud Bus
)。这里说明一下,Spring Cloud Bus目前支持RabbitMQ、Kafka
,至于你要用哪个,随便你。 - 第二步,微服务实例(Client application) 会去找Config Server拿自己所需要的配置文件。同时也顺便去消息中间件中订阅主题。
- 使用git命令或在GitHub上直接修改配置文件,来模拟现实开发中配置文件变更的情况。
-
发送
POST
请求给Config Server。 -
先更新配置文件这一消息,发送到消息中间件中。这里因为大家都订阅了一个主题,一个
POST
请求就可以让所有的微服务都知道配置文件更新了。所谓 “一个得病,全家那啥”。 - 上一步介绍到了,因为现在主题里有消息,所以微服务实例们可以直接去读取该消息。
- 微服务实例向Config Server 再拉取一次最新的配置文件。
感谢观看
上一篇: Android 自定义View 之 RectF用法详解
下一篇: 谁笑话谁呀