文章总结: SpringCloudBus是基于消息中间件的分布式消息总线,用于微服务配置热更新与广播。文章建议采用服务端通知模式以保持微服务职责单一,并提供配置代码示例。此外介绍了针对特定实例或集群的局部刷新机制,提升了配置管理的精细度与灵活性。 综合评分: 80 文章分类: 其他
Spring Cloud Bus作用与原理
原创
静观云起 静观云起
码云精炼
2026年1月24日 15:31 广东
Spring Cloud Bus是Spring Cloud生态中的一个分布式消息总线组件,主要用于在微服务架构中实现配置变更的广播与通知,或者进行跨服务的事件通信。
一 主要作用
1. 动态刷新配置****
当使用Spring Cloud Config做集中配置管理时,如果某个配置发生了变化,可以通过Spring Cloud Bus将配置更新的指令广播到所有相关的微服务实例,从而触发这些服务自动刷新配置,无需手动重启每个服务。常配合/actuator/bus-refresh端点使用,实现配置热更新
2. 事件广播与通信
除了配置刷新,也可以用来在微服务集群中广播自定义事件,实现服务间的轻量级事件驱动通信
二 核心原理
基于消息中间件(如RabbitMQ、Kafka)实现消息的广播。
当某个服务节点触发配置更新(比如调用bus-refresh),该事件会通过消息总线发送到所有连接到总线的服务,收到事件的服务会执行相应的逻辑。
三 实时配置刷新
- 客户端发起通知
借助Spring Cloud Bus的广播功能,让Config Client都订阅配置更新事件。当配置更新时,触发其中一个端的更新事件,Spring Cloud Bus就把此事件广播到其他订阅客户端,以此来达到批量更新。
<!-- spring cloud starter bus amqp依赖,默认用rabbitmq --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency>
添加配置文件
# 消息队列 rabbitmq:host: 192.168.10.101port: 5672username: guestpassword: guestvirtual-host: /# 度量指标监控与健康检查management: endpoints: web: # 访问端点根路径,默认为/actuator base-path: /actuator exposure: # 需要开启的端点 include: bus-refresh
客户端发起通知缺陷
✅打破了微服务的职责单一性。微服务本身是业务模块,它本不应该承担配置刷新的职责。
✅破坏了微服务各节点的对等性。
✅存在一定的局限性。例如,微服务在迁移时,它的网络地址常常会发生变化,此时如果想要做到自动刷新,就不得不修改Webhook的配置
- 服务端发起通知
为了解决客户端发起通知的缺陷,采用服务端发起通知
✅Webhook监听被触发,给ConfigServer发送bus-refresh请求刷新配置。
✅ConfigServer发送消息给Bus。
✅Bus接收消息后广播通知所有ConfigClient。
✅各ConfigClient收到消息重新读取最新配置。
3.局部刷新
假设有这样一种场景,我们开发了一个新的功能,此时需要对该功能进行测试。我们只希望其中一个微服务的配置被更新,等功能测试完毕,正式部署线上时再更新至整个集群。但是由于所有微服务都受Spring Cloud Bus的控制,我们更新了其中一个微服务的配置,就会导致其他服务也被通知去更新配置。这时候局部刷新的作用就体现出来了。
✅刷新单个指点微服务
请求地址:/bus-refresh/{微服务名}:{端口号}
请求方式:post
✅刷新指定集群
假设现在功能测试完毕,需要正式部署线上更新至整个集群。但是由于Spring Cloud Bus控制着多个微服务集群(订单微服务、商品微服务等),而我们只想更新指定集群下的配置,这个时候就可以使用Bus提供的通配符更新方案。
****请求地址:/bus-refresh/{微服务名}:**
请求方式:post
****
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:码云精炼 静观云起 静观云起《Spring Cloud Bus作用与原理》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论