Bus消息总线
所谓消息总线Bus,即我们经常会使用MQ消息代理构建一个共用的Topic,通过这个Topic连接各个微服务实例,MQ广播的消息会被所有在注册中心的微服务实例监听和消费。换言之就是通过一个主题连接各个微服务,打通脉络
Spring Cloud Bus (基于MQ的,支持RabbitMQ/Kafka) 是Spring Cloud中的消息总线方案,Spring Cloud Config + Spring Cloud Bus结合可以实现配置信息的自动更新,可以加快我们在更新文件的效率,为我们省了不少工作
1.在需要远程配置文件的类中导入bus-amqp的依赖
<!--引入bus-amqp的依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>
2.该依赖可以使用RabbitMQ来进行缓存,编写连接RabbitMQ的配置(需要的都要配置),要注意位置,不会安装的可以看我的这篇文章
快速在linux中安装RabbitMQ
rabbitmq: host: 192.168.40.100 port: 5672 username: admin password: 123123
management: endpoints: web: exposure: include: "*"
在重启之前需要我们打开RabbitMQ,在本机浏览器测试是否连上RabbitMQ,进入RabbitMQ的可视化端口就证明RabbitMQ没有问题
3.重启page和config这两个项目,在gitee中更改我们的配置文件,进行测试,自动刷新也是需要一个条件的
所有自动更新:
http://127.0.0.1:9400/actuator/bus-refresh
单个项目:
http://localhost:9400/actuator/bus-refresh/leq-service-page:9100