1总线介绍 · SpringCloud微服务实战 · 看云
导航
Spring cloud bus通过轻量消息代理连接各个分布的节点。这会用在广播状态的变化(例如配置变化)或者其他的消息指令。Spring bus的一个核心思想是通过分布式的启动器对spring boot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式是用AMQP消息代理作为通道,同样特性的设置(有些取决于通道的设置)在更多通道的文档中。
SpringCloud Bus会向外提供一个http接口,即下图中的/ actuator / bus-refresh。我们将这个接口配置到git的webhook上,当git上的内容发生改变时,就会自动调用/ actuator / bus-refresh接口。Bus就会通知ConfigServer,ConfigServer会发布更新消息到消息总线的消息队列,其他服务订阅到该消息就会信息刷新,从而实现整个微服务进行自动刷新。
MQ 中间件的作用
MQ中间件就是我们常说的消息代理,主要用于消息的接收和转发消息,可以将消息生产者和消息消费者完全解耦,不必直接调用对方的API。一般常用在邮件服务、短信服务、日志服务等。
目前常用的MQ有:
- Kafka
- RabbitMQ
- RocketMQ(阿里开源)
- ActiveMQ等
Spring Cloud Bus 目前仅支持两款MQ中间件: RabbitMQ和Kafka。后面讲主要介绍这两种中间件配合Spring Cloud Bus 的使用
