技術丨怎麼用好spring config
配置其實分為結構和內容兩個方面,結構對應的是**,比如1.0.0新開發的**上有乙個功能開關fea
ture
.swi
tcha
,但ma
ster
上還沒有
,這就是
結構的變
化。另一
方面是內
容,
1.0.0的開
發分支有
兩個測試
環境,連
著不同的
資料庫,
那麼對應
的,但master上還沒有,這就是結構的變化。另一方面是內容,1.0.0的開發分支有兩個測試環境,連著不同的資料庫,那麼對應的
featur
e.sw
itch
a,但m
aste
r上還沒
有,這就
是結構的
變化。另
一方面是
內容,1
.0.0
的開發分
支有兩個
測試環境
,連著不
同的資料
庫,那麼
對應的的內容肯定不同。
內容的類別上也可以分為三種:業務配置,功能開關,服務配置。
spring cloud的配置中心是spring config,經過兩年的使用,發現了其中不少的問題,有些是使用問題,有些是spring config本身的管理能力導致的問題。
spring config首推基於git的管理方式,提供了兩個管理維度,乙個是label(即branch),乙個是profile。當服務foo在一套**下要安裝多套環境,比如預發布環境有2套,一套在shanghai機房,一套在beijing機房。那麼比較自然的管理維度就是利用profile,foo-shanghai.yaml以及foo-beijing.yaml。當生產環境也依然需要2台時,怎麼處理呢?這時候就會有兩種做法,一種利用增加label維度做區分,一種依然只用profile。
branch其實表示的是結構,即對應不同的**,而profile對應的是內容。
這種方式有什麼問題?一般應用都是只有profile來區分環境,比如logback要分環境區分配置也是通過來指定。一旦採用兩個維度來確定唯一的配置,那麼所有專案都需要有label這個變數。
再考慮另一種情況,foo在prd的**需要放到stg進行驗證如何處理?foo的**版本肯定是prd的(因為stg的配置結構也許已經變了),但profile需要用stg的環境。這時實際上只能在配置中心的prd分支上新建乙個新的profile來臨時滿足這種需求。
同樣的,foo在prd的**需要放到stg進行驗證如何處理?foo的**版本肯定是prd的(因為stg的配置結構也許已經變了),但profile需要用stg的環境。這時實際上只能再配置中心新建乙個profile,比如stg-oldshanghai,來滿足這種需求。
然而我們知道,增加新的profile其實還是挺麻煩的事情,如果**中有直接比較profile的邏輯,那麼往往容易出現問題。
有沒有不臨時增加profile的辦法呢?其實仔細思考一下,在stg環境驗證prd的服務,真正的邏輯是什麼?是希望用stg環境的配置內容,以及stg某個歷史版本(與prd匹配的)的配置結構。所以縱向維度我們需要的其實是version,profile都是stg-shanghai,而version乙個是1.0.0,乙個是latest。
好了,現在我們來綜合一下兩種方式,可以使用git的分支作為version,profile依然還是按照方法二來區分。畢竟頻繁增加環境的可能性不高。但是如果要同時維護乙個profile兩個分支,其實還是要來回切換的,比較麻煩,這也是spring config為人詬病的管理功能弱。好在spring cloud也支援mysql,用mysql同時管理多個label的內容還是方便不少,只是git自帶的「後悔藥」(history)功能沒有了。所以說還是有利有弊。
如果想要更完善的配置管理工具,建議還是使用apollo。要想用好spring cloud,必須可以忍受它比較弱的管理能力,並且做好前期規劃,結合專案特點來使用label和profile的能力。
企業怎麼用好主流工作手機?
上班前收繳員工個人手機,統一使用公司配備的手機。很多企業都在這麼幹。配備主流工作手機後,再也不需要做這種讓員工 心寒 的事了。目前,市面上主流的工作手機包括 魚汛工作手機 虎鯨工作手機 雲客工作手機等。下面結合魚汛工作手機具體談談,企業如何用好工作手機 1.監管社交聊天記錄幫銷售提公升話術 以前,員...
資訊科技必修丨資訊獲取
fu wen chao 1 資訊獲取的一般過程 確定資訊需求確定資訊 採集資訊 儲存資訊 1.1確定資訊需求的過程 制定資訊需求容大綱 確定成果目標形式及所需載體型別 列出需求清單 1.2確定資訊 三類 事物本身 他人 1.3採集資訊 整理資訊 分類儲存 建資訊採集卡 輸入計算機儲存 把採集到的資訊...
電腦桌面檔案刪除怎麼恢復丨迅龍資料恢復丨
電腦桌面檔案刪除怎麼恢復丨迅龍資料恢復丨 我是漢語專業畢業的,是一名對外漢語教師,說實話,要在國內找到這樣的工作著實是不容易的。面試了很多學校,終於才找到這樣的乙個小大學,因為現在學歷高的人實在是太多了,我們,只不過是其中的小蝦公尺而已,能找到乙個不錯的,就算是離家很遠,也只能是聽天由命的 實習了兩...