分布式配置管理平臺:Disconf

pdkie1 9年前發布 | 46K 次閱讀 Disconf 分布式/云計算/大數據

Disconf 可以為各種業務平臺提供統一的配置管理服務。

  • 支持配置(配置項+配置文件)的分布式化管理

  • 配置發布統一化

  • 極簡的使用方式(注解式編程 或 XML代碼無代碼侵入模式)

  • 低侵入性或無侵入性、強兼容性

  • 需要Spring編程環境

重要功能特點

  • 支持配置(配置項+配置文件)的分布式化管理

  • 配置發布統一化

    • 配置發布、更新統一化(云端存儲、發布):配置存儲在云端系統,用戶統一在平臺上進行發布、更新配置。

    • 配置更新自動化:用戶在平臺更新配置,使用該配置的系統會自動發現該情況,并應用新配置。特殊地,如果用戶為此配置定義了回調函數類,則此函數類會被自動調用。

  • 配置異構系統管理

    • 異構包部署統一化:這里的異構系統是指一個系統部署多個實例時,由于配置不同,從而需要多個部署包(jar或war)的情況(下同)。使用 Disconf后,異構系統的部署只需要一個部署包,不同實例的配置會自動分配。特別地,在業界大量使用部署虛擬化(如JPAAS系統,SAE,BAE) 的情況下,同一個系統使用同一個部署包的情景會越來越多,Disconf可以很自然地與他天然契合。

    • 異構主備自動切換:如果一個異構系統存在主備機,主機發生掛機時,備機可以自動獲取主機配置從而變成主機。

    • 異構主備機Context共享工具:異構系統下,主備機切換時可能需要共享Context。可以使用Context共享工具來共享主備的Context。

  • 極簡的使用方式(注解式編程 或 XML代碼無代碼侵入模式):我們追求的是極簡的、用戶編程體驗良好的編程方式。目前支持兩種開發模式:基于XML配置或才基于注解,即可完成復雜的配置分布式化。

  • 需要Spring編程環境

注:配置項是指某個類里的某個Field字段。

Disconf的功能特點描述圖:

查看大圖

其它功能特點

  • 低侵入性或無侵入性、強兼容性

    • 低侵入性:通過極少的注解式代碼撰寫,即可實現分布式配置。

    • 無侵入性:通過XML簡單配置,即可實現分布式配置。

    • 強兼容性:為程序添加了分布式配置注解后,開啟Disconf則使用分布式配置;若關閉Disconf則使用本地配置;若開啟Disconf后disconf-web不能正常Work,則Disconf使用本地配置。

  • 支持配置項多個項目共享,支持批量處理項目配置

  • 配置監控:平臺提供自校驗功能(進一步提高穩定性),可以定時校驗應用系統的配置是否正確。

模塊架構圖

查看大圖

模塊信息

  • disconf

    • disconf-core: 分布式配置基礎包模塊

    • disconf-client: 分布式配置客戶端模塊, 依賴disconf-core包。 用戶程序使用它作為Jar包進行分布式配置編程。

    • disconf-tool: 分布式配置工具包,依賴disconf-core包。 Disconf-tool是disconf的輔助工具類。

    • disconf-web: 分布式配置平臺服務模塊, 依賴disconf-core包。采用SpringMvc+純HTML方式實現。 用戶使用它來進行日常的分布式配置管理。

  • demo

用戶指南

用戶請關注這里。

概述

Disconf為應用方提供了三個工具,

  1. disconf-client, 您可以在您的應用系統里加入此Jar包;

  2. disconf-web, 它是一個Web平臺,您可以此Web平臺上管理您的配置。

  3. disconf-tool,可選包。

disconf-client 使用

在您的 Maven POM 文件里加入:

<dependency>
    <groupId>com.baidu.disconf</groupId>
    <artifactId>disconf-client</artifactId>
    <version>2.6.20</version>
</dependency>

disconf-web 使用

部署方法請參見:https://github.com/knightliao/disconf/tree/master/disconf-web

全新主頁,高清大圖:

APP+環境+版本+ZK查詢:

http://ww1.sinaimg.cn/mw1024/60c9620fgw1emyww39wjmj20qw0keq6m.jpg

disconf-client/disconf-web Tutorials

總體概述

基于注解式的分布式配置(支持配置文件和配置項)

推薦新建的項目使用disconf時 使用

將配置文件移至一個專有類里,而不是分散在項目的各個地方,整個代碼架構清晰易懂、易管理。 即便如果哪天不使用disconf,也只需要將注解去掉即可。

基于XML的分布式配置(無代碼侵入)(僅支持配置文件)

推薦舊項目使用disconf時 使用

其它

開發人員指南

其它

項目主頁:http://www.baiduhome.net/lib/view/home/1428906623486

 本文由用戶 pdkie1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!