spring cloud分布式配置服務由伺服器端和用戶端共同組成,server端提供配置資訊的存儲管理,用戶端完成配置資訊的排程,工程結構如下
套用一個圖來解釋該部分在springcloud分布式系統中的結構
上面的圖檔說明了四個微服務以及各個服務之間的依賴關系。
configuration service 處于最頂端,黃色辨別,而且被其他微服務所依賴。
discovery service 處于最低端,藍色辨別,同時也被其他服務所依賴。
bootstrap.yml
application.yml
【注】建議采用bootstrap+application組合形式,一般bootstrap配置工程不可變參數,且在啟動時需要設定的内容,application配置可變參數
j360-cloud-configserver
1、pom依賴
2、注解
configserver提供了http,為外部資源提供api配置的服務,隻需要在springboot程式中提供@enableconfigserver注解即可。
@enableconfigserver
增加以下依賴 eureka(可選,作為discover伺服器必選)
3、配置檔案
bootstrap.properties
application.properties
4、spring-boot:run
<a href="http://localhost:8888/configserver/application.properties">http://localhost:8888/configserver/application.properties</a>
1、pom
2、配置
3、spring-boot:run
【注】環境變量重新整理
環境變量倉庫
預設的環境變量庫使用git服務,也可以使用檔案系統的服務
1、git服務
2、檔案服務
使用 spring.profiles.active=native
環境變量倉庫使用3個變量:
{application} 在用戶端映射到"spring.application.name"
{profile} 在用戶端映射到"spring.active.profiles",使用逗号分隔
{label}這是一個伺服器端功能标簽“版本”的一組配置檔案
自動重新整理
當環境變量參數通過git更新後,用戶端自動更新:
1:可以使用 post /refresh來執行,用戶端調用更新功能,configserver pull git完成後,更新環境變量資訊,用戶端擷取最新的環境變量,并且更新
2:定時器執行:每隔x時間段更新一次
3:根據需要執行:隻需要将定時器調用的更新接口暴露成服務形式調用
多用戶端更新服務
1:通過spring cloud bus更新
2:其他廣播形式調用接口
調用接口: