天天看點

J360-cloud SpringCloud系列一:分布式配置伺服器ConfigServer

spring cloud分布式配置服務由伺服器端和用戶端共同組成,server端提供配置資訊的存儲管理,用戶端完成配置資訊的排程,工程結構如下

J360-cloud SpringCloud系列一:分布式配置伺服器ConfigServer

套用一個圖來解釋該部分在springcloud分布式系統中的結構

J360-cloud SpringCloud系列一:分布式配置伺服器ConfigServer

上面的圖檔說明了四個微服務以及各個服務之間的依賴關系。

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>

J360-cloud SpringCloud系列一:分布式配置伺服器ConfigServer

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:其他廣播形式調用接口

調用接口: