前面講到spring cloud config把配置檔案放到github上來讀取。通過/refresh介面來更新讀取修改的檔案,從而可以讀取新的值。但是,若所有觸發操作均需要我們手工去維護web hook中的應用位置的話,這隨著系統的不斷擴張,會變的越來越難以維護,而訊息**中介軟體是解決該問題最為合適的方案。是否還記得我們在介紹訊息**中的特點時有提到過這樣乙個功能:訊息**中介軟體可以將訊息路由到乙個或多個目的地。利用這個功能,我們就能完美的解決該問題,下面我們來說說spring cloud bus中的具體實現方案。現在通過spring cloud bus在多個客戶端的情況下只要通過/bus/refresh(post請求)這個介面重新整理一次,所有的客戶端讀取的將是最新的配置檔案的內容。
在前面專案的基礎上增加如下的內容
org.springframework.cloud
spring-cloud-starter-bus-amqp
配置檔案中配置rabbitmq的資訊
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
先啟動配置檔案服務端在分別啟動多個配置檔案客戶端(埠號不同)
通過post請求訪問其中乙個客戶端的/bus/refresh介面,到這裡,我們已經能夠通過spring cloud bus來實時更新匯流排上的屬性配置了。所有的客戶端都可以獲得最新的profile的值。
工作原理:
圖中的gi倉庫,config server 以及servera都被引入在rabbit mq的訊息匯流排上。當其中乙個servera的/bus/refreshi介面被訪問的時候,被訪問的servera會向訊息匯流排方式傳送訊息並獲取最新的配置,訊息匯流排的訊息事件會被其他的servera獲取並從git倉庫獲取最新的訊息
參考:
Spring Cloud Bus 配置更新
spring cloud bus做配置更新步驟如下 1.提交 觸發post請求給bus refresh 2.server端接收到請求並傳送給spring cloud bus 3.spring cloud bus接到訊息並通知給其它客戶端 4.其它客戶端接收到通知,請求server端獲取最新配置 5....
SpringCloud Bus學習筆記
在學習springcloud時學習了springcloud bus,一直沒有成功,問題如下。1.0版本的 2.0版本的 我使用的版本為2.0的版本。而我們遇到的問題是 剛開始我用瀏覽器發出的請求 預設為get請求,機緣巧合之下,我說要不用postman試一下,剛好我的postman是預設post的請...
SpringCloud Bus訊息匯流排
1 安裝好rabbitmq的環境 2 在配置中心服務端和客戶端加上以下依賴 org.springframework.cloudgroupid spring cloud starter bus amqpartifactid dependency 3 在配置中心的配置檔案中加上以下配置 spring r...