SpringCloud Bus消息總棧

分布式配置自動刷新配置功能,springCloud Bus配合Spring Cloud Config使用可以實(shí)現(xiàn)配置的動態(tài)刷新.

Bus支持兩種消息代理: RabbitMQ 和Kafka

如果不熟悉springcloud config 請關(guān)注我之前的文章SpringCloud 實(shí)戰(zhàn)

理念

在使用動態(tài)配置文件時,服務(wù)端更換一次配置,需要手動去向客戶端發(fā)送刷新請求,但如果多臺服務(wù)器甚至上百臺,不可能去向所有客戶端服務(wù)發(fā)送請求,大大增加運(yùn)維的任務(wù)

解決

引入springcloud bus消息總棧,配合rabbitmq實(shí)現(xiàn)一次更新,同步所有客戶端

  • 引入pom文件
 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

<!-- 圖形化監(jiān)控是必須要有的 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
  • 配置yml
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: admin
    password: admin
    
##暴露bus刷新配置端點(diǎn)
management:
  endpoints:
    web:
      exposure:
        include: 'bus-refresh'
        

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

  • 發(fā)送post請求

127.0.0.1:3344/actuator/bus-refresh

如果需要手動定點(diǎn)刷新,帶上服務(wù)名及端口號,例:

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容