統一配置中心簡介
本文會帶大家來了解Spring cloud config這個組件,首先,先帶來一個問題。我們用這個組件的目的是什麼呢?這麼多人用,肯定是有原因的嘛。存在即合理。
一.爲什麼需要統一配置中心?
如果不使用統一配置中心,會帶來很多問題,比如:
1.不方便維護
假如一個服務,由多人開發,其中a在開發的時候,修改了配置,b來開發的時候,需要測試別的一些功能,這個時候配置文件已經被a修改得面目全非了,這就造成了衝突。
2.配置內容的安全與權限
公司項目線上的配置基本是不對開發公開的,特別是數據庫的賬號密碼這種,基本是隻有運維才知道,把配置放在項目裏面的話,每個開發人員都能看到,這種情況就需要對配置文件進行隔離。
3.更新配置項目需要重啓
線上更新配置是經常發生的事情,比如更新一點小小的配置,難道都需要重啓嗎?使用spring cloud config就可以解決這一點。
二、如何搭建統一配置中心
配置中心到時候也會作爲一個服務,這些配置,爲了方便管理,我們都把它放到git上,使用git控制起來會比較方便。如下圖所示:(說明:箭頭代表數據流動的方向)
最開始呢,我們是把配置放在遠端的git,如gitlab,github或者自己搭建的私服。config-server把配置從遠端git拉下來之後,放到本地git。config-server與本地git之間是雙向流動的。既會把遠端的git放到本地中,假如遠端git不能訪問了,也會從本地git把配置拉出來,拿到配置之後,就可以給微服務來使用。product和order這兩個服務,需要集成config-client這個組件。這就是統一配置中心整體的架構。
Config Server
步驟:
1. 新建一個服務, 勾選Config Server
第二步: 做Eureka的配置(不包括下圖, 具體看前面的文章)
第三步: 讓它成爲一個configServer端, 主方法加上@EnableConfigServer
此時啓動會報錯:
第四步: 因爲配置文件會從git上讀取,所以我們先去git上建一個項目
第五步: 創建之後, 把order的yml文件放進來
第六步: 複製好倉庫的地址後,在config服務裏面配置好uri(此處是git上的地址和賬號密碼)
然後發現放在git上的配置文件已經可以訪問了~