在之前的博客中介绍了一种手动刷新配置文件的方式:SpringCloud笔记(五)分布式配置中心,但是这种方式有严重的缺陷,就是当配置文件更新时,所有的客户端都必须手动POST发送actuator/refresh请求才能获取到最新的配置文件,这样未免也太麻烦了。SpringCloud Bus可以通过整合Kafka或RabbitMQ,通过发布/订阅模式,刷新配置。当Git中的配置文件更改后,只需要在Config Server端发送一次POST请求:actuator/bus-refresh,所有的客户端均会获取最新的配置文件内容。
说明:本博客是在上SpringCloud笔记(五)分布式配置中心的基础上进行代码改造,采用rabbitmq作为消息总线。
1、Config Server和Config Client的pom.xml添加如下依赖
由于我采用的是SpringBoot2.1.1Release版本,SpringCloud的版本是Greenwich.SR1,因此必须在Config Server和Config Client的pom.xml中引入如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artif