原部落格地址:http://blog.csdn.net/zhu_tianwei/article/details/47984545
Disconf專注於各種分散式系統配置管理
的通用元件
/通用平臺
,提供統一的配置管理服務
。
專案地址:https://github.com/knightliao/disconf
一、功能特點
- 支援配置(配置項+配置檔案)的分散式化管理
- 配置釋出統一化
- 配置釋出、更新統一化(雲端儲存、釋出):配置儲存在雲端系統,使用者統一在平臺上進行釋出、更新配置。
- 配置更新自動化:使用者在平臺更新配置,使用該配置的系統會自動發現該情況,並應用新配置。特殊地,如果使用者為此配置定義了回撥函式類,則此函式類會被自動呼叫。
- 配置異構系統管理
- 異構包部署統一化:這裡的異構系統是指一個系統部署多個例項時,由於配置不同,從而需要多個部署包(jar或war)的情況(下同)。使用Disconf後,異構系統的部署只需要一個部署包,不同例項的配置會自動分配。特別地,在業界大量使用部署虛擬化(如JPAAS系統,SAE,BAE)的情況下,同一個系統使用同一個部署包的情景會越來越多,Disconf可以很自然地與他天然契合。
- 異構主備自動切換:如果一個異構系統存在主備機,主機發生掛機時,備機可以自動獲取主機配置從而變成主機。
- 異構主備機Context共享工具:異構系統下,主備機切換時可能需要共享Context。可以使用Context共享工具來共享主備的Context。
- 極簡的使用方式(註解式程式設計 或 XML無程式碼侵入模式):我們追求的是極簡的、使用者程式設計體驗良好的程式設計方式。目前支援兩種開發模式:基於XML配置或者基於註解,即可完成複雜的配置分散式化。
- 低侵入性或無侵入性、強相容性:
- 低侵入性:通過極少的註解式程式碼撰寫,即可實現分散式配置。
- 無侵入性:通過XML簡單配置,即可實現分散式配置。
- 強相容性:為程式新增了分散式配置註解後,開啟Disconf則使用分散式配置;若關閉Disconf則使用本地配置;若開啟Disconf後disconf-web不能正常Work,則Disconf使用本地配置。
- 支援配置項多個專案共享,支援批量處理專案配置。
- 配置監控:平臺提供自校驗功能(進一步提高穩定性),可以定時校驗應用系統的配置是否正確。
注:配置項是指某個類裡的某個Field欄位。
Disconf未來版本(完全版)功能特點描述圖:
二、模組架構圖
模組資訊
- disconf
- disconf-client: 分散式配置客戶端模組, 依賴disconf-core包。 使用者程式使用它作為Jar包進行分散式配置程式設計。
- disconf-web: 分散式配置平臺服務模組, 依賴disconf-core包。採用SpringMvc+純HTML方式(前後端分離架構)實現。使用者使用它來進行日常的分散式配置管理。
- demo
- disconf-standalone-dubbo-demo: 整合了disconf和dubbo的基於Spring的standalone demo程式
- 參考文章: