bus
bus-概述
• Spring Cloud Bus
是用轻量的消息中间件将分布式的节点连接起来,可以用于广播配置文件的更改或 者服务的监控管理。关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相通信。
• Spring Cloud Bus
可选的消息中间件包括
RabbitMQ
和
Kafka
bus-快速入门
1.
分别在
config-server
和
config-client
中引入
bus
依赖:
bus-amqp
和
actuator
依赖
<!-- bus -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.
分别在
config-server
和
config-client
中配置
RabbitMQ
bootstrap.yml
#配置rabbitmq信息
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
virtual-host: /
OrderController
上添加
@RefreshScope
注解
@RestController
@RequestMapping("/order")
@RefreshScope
public class OrderController {
@Value("${itheima}")
private String itheima;
...
}
3.
在
config-server
中设置暴露监控断点:
bus-refresh
application.yml
# 暴露bus的刷新端点
management:
endpoints:
web:
exposure:
include: 'bus-refresh'
4.
启动测试
访问
http://localhost:9527/actuator/bus-refresh
执行后发现虽然调用的是9527 config-server的/actuator/bus-refresh,但是client的内容被刷新了