微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例,它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线
- 添加依赖(服务端与客户端
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
- 配置服务端
rabbitmq:
host: 127.0.0.1
port: 5672
username: guest
password: guest
management:
endpoints:
web:
exposure:
include: bus-refresh
endpoint:
bus-refresh:
enabled: true
- 配置客户端
# 记得rabbitmq服务器信息
# 刷新时,关闭安全验证
management.endpoints.web.exposure.include=bus-refresh
# 开启消息跟踪
spring.cloud.bus.trace.enabled=true
当配置发生更新时,post调用配置中心 http://config_server:8003/actuator/bus-refresh
新配置就会传播到所有客户端
在调用webhook的时候,可以指定参数来指定更新要传播到哪些微服务