SpringCloud Bus消息总栈

分布式配置自动刷新配置功能,springCloud Bus配合Spring Cloud Config使用可以实现配置的动态刷新.

Bus支持两种消息代理: RabbitMQ 和Kafka

如果不熟悉springcloud config 请关注我之前的文章SpringCloud 实战

理念

在使用动态配置文件时,服务端更换一次配置,需要手动去向客户端发送刷新请求,但如果多台服务器甚至上百台,不可能去向所有客户端服务发送请求,大大增加运维的任务

解决

引入springcloud bus消息总栈,配合rabbitmq实现一次更新,同步所有客户端

  • 引入pom文件
 
            org.springframework.cloud
            spring-cloud-starter-bus-amqp



        
            org.springframework.boot
            spring-boot-starter-actuator
        
  • 配置yml
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: admin
    password: admin
    
##暴露bus刷新配置端点
management:
  endpoints:
    web:
      exposure:
        include: 'bus-refresh'
        

同理客户端也要配置好mq通信

  • 发送post请求

127.0.0.1:3344/actuator/bus-refresh

如果需要手动定点刷新,带上服务名及端口号,例:

127.0.0.1:3344/actuator/bus-refresh/config-client:3355

你可能感兴趣的:(SpringCloud Bus消息总栈)