1.配置環境
版本:spring boot版本2.0.3.release,spring cloud版本finchley.sr1,rabbitmq 3.7.7
說明:本文章是在的基礎上完成,
2. 實現原理(如下圖所示)
通過訊息佇列mq傳遞訊息
修改配置,對外暴露/actuator/bus-refresh介面
手動訪問/actuator/bus-refresh重新整理配置;或者在git伺服器(碼雲、github等)上配置webhooks,實現自動呼叫/actuator/bus-refresh介面,從而重新整理配置(推薦)
1. 新增依賴
org.springframework.cloud2. 修改配置spring-cloud-starter-bus-amqp
spring:3. 啟動config-server,檢視mq,會多出來乙個佇列# rabbitmq配置
rabbitmq:
cache:
channel:
checkout-timeout: 1s
host: 192.168.2.246port: 5672username: admin
password: admin
#暴露/actuator/bus-refresh介面
management:
endpoints:
web:
exposure:
include: "*"
1. 新增依賴
org.springframework.cloud2. 新增rabbitmq配置spring-cloud-starter-bus-amqp
spring:3. 在使用屬性的地方,增加@refreshscope註解,防止重新整理後配置不生效----------但測試發現,不新增@refreshscope註解也能動態重新整理配置# rabbitmq配置
rabbitmq:
cache:
channel:
checkout-timeout: 1s
host: 192.168.2.246port: 5672username: admin
password: admin
//1. 啟動client端服務,使用postman請求測試介面@refreshscope
@configuration
@configurationproperties("aliyun")
public
class
ossproperties
2. 修改git伺服器上的配置
3. 呼叫config server的/actuator/bus-refresh介面
config server控制台日誌:
config client控制台日誌:
rabbitmq管理頁面:
4. 重新請求測試介面,發現在沒重啟的情況下,配置已經改變
Spring Cloud Bus 配置更新
spring cloud bus做配置更新步驟如下 1.提交 觸發post請求給bus refresh 2.server端接收到請求並傳送給spring cloud bus 3.spring cloud bus接到訊息並通知給其它客戶端 4.其它客戶端接收到通知,請求server端獲取最新配置 5....
Spring Cloud Bus訊息匯流排
前面講到spring cloud config把配置檔案放到github上來讀取。通過 refresh介面來更新讀取修改的檔案,從而可以讀取新的值。但是,若所有觸發操作均需要我們手工去維護web hook中的應用位置的話,這隨著系統的不斷擴張,會變的越來越難以維護,而訊息 中介軟體是解決該問題最為合...
SpringCloud Bus學習筆記
在學習springcloud時學習了springcloud bus,一直沒有成功,問題如下。1.0版本的 2.0版本的 我使用的版本為2.0的版本。而我們遇到的問題是 剛開始我用瀏覽器發出的請求 預設為get請求,機緣巧合之下,我說要不用postman試一下,剛好我的postman是預設post的請...