天天看點

使用spring cloud config來統一管理配置檔案

當一個系統中的配置檔案發生改變的時候,我們需要重新啟動該服務,才能使得新的配置檔案生效,spring cloud config可以實作微服務中的所有系統的配置檔案的統一管理,而且還可以實作當配置檔案發生變化的時候,系統會自動更新擷取新的配置。

其架構原理圖大緻如下:

使用spring cloud config來統一管理配置檔案

我們将配置檔案放入git或者svn等服務中,通過一個Config Server服務來擷取git中的配置資料,而我們需要使用的到配置檔案的Config Client系統可以通過Config Server來擷取對應的配置。

下面我們通過一個示例來示範一下config是如何被各個微服務系統擷取到的。

1.向git中上傳示例配置檔案

檔案名分别為:

對應不同的三個環境。

該檔案的命名規則是:{application}-{profile}.properties

2.搭建Config Server

2.1 添加依賴

2.2 編寫ConfigApplication

2.3 編寫yml配置檔案

這是我們啟動該服務,通路該配置檔案,通路路徑示例如下(以該配置為例):

127.0.0.1:6688/microservice-dev.properties

通路路徑的寫法也有多種方式:

3. Config Client的搭建

3.1 添加依賴

3.2 添加yml配置檔案

注意,這裡的yml配置檔案是:bootstrap.yml,它和application.yml檔案一樣,會被spring boot加載,但是bootstrap.yml會優先加載。

3.3 在application.yml檔案中添加配置

3.4 利用git的webhook實作實時更新通知

使用spring cloud config來統一管理配置檔案
使用spring cloud config來統一管理配置檔案
使用spring cloud config來統一管理配置檔案

這個時候,我麼通過@Value的方式,就可以擷取到對應的配置了。

再次測試,我們發現當我們修改了git中的配置檔案的内容之後,client系統中讀取到的屬性也是修改之後的了。

到此為止,其架構變成如下:

使用spring cloud config來統一管理配置檔案