全局刷新
詳細參考:《Sprin Cloud 與 Docker 微服務架構實戰》p160-9.9.2節
1、使用Spring Cloud Config 客戶端時,可以使用 /refresh 端點,舒心配置信息(注意:關閉安全認證,否則無法刷新。management.security.enabled = false)。
2、如果每一個 客戶端都要手動的使用 /refresh 端點去刷新配置。很繁瑣,也不便於操作,想想如果有100個節點怎么辦?當然了你也可以寫一個腳本批量操作。
3、其實spring cloud 已經存在這樣的解決方案了,我們只需要簡單的配置就可以進行全節點的自動刷新。
下面是的使用步驟:
1、添加依賴關系:spring-cloud-starter-bus-amqp
2、在bootstrap.xml配置文件中添加如下配置項目:
spring:
rabbitmq:
host: localhost
port: 5672 # 不是web端監控中心的15672端口
username: guest # 默認
password: guest # 默認
3、開始啟動:
3.1 首先將配置中心 服務器端啟動
3.2 然后將客戶端啟動,(為了容易測試,可以將客戶端的啟動端口更改,這個可以啟動多台客戶端)
3.3 更改遠程庫中的配置屬性
3.4 使用 /bus/refresh 端點進行刷新
4、之后我們訪問兩個客戶端節點
5、完成
---
局部刷新
當然也可以刷新某一個節點的配置數據
命令規則為:
/bus/refresh?destination=ApplicationContextID
ApplicationContextID 也就是 spring.application.name : port
例如:
http://localhost:7989/bus/refresh?destination=microservice-foo:7989