版本1.3.0新特性
1、支援線上維護配置分組;
2、項目groupid從com.xxl遷移至com.xuxueli,為推送maven中央倉庫做準備;
3、v1.3.0版本開始,推送公共依賴至中央倉庫;
《分布式配置管理平台xxl-conf》
一、簡介
1.1 概述
xxl-conf 是一個分布式配置管理平台,其核心設計目标是“為分布式業務提供統一的配置管理服務”。現已開放源代碼,開箱即用。
1.2 特性
1、簡單易用: 上手非常簡單, 隻需要引入maven依賴和一行配置即可;
2、線上管理: 提供配置管理中心, 支援線上管理配置資訊;
3、實時推送: 配置資訊更新後, zookeeper實時推送配置資訊, 項目中配置資料會實時更新并生效, 不需要重新開機線上機器;
4、高性能: 系統會對zookeeper推送的配置資訊, 在encache中做本地緩存, 在接受推送更新或者緩存失效時會及時更新緩存資料, 是以業務中對配置資料的查詢并不存在性能問題;
5、配置備份: 配置資料首先會儲存在zookeeper中, 同時, 在mysql中會對配置資訊做備份, 保證配置資料的安全性;
6、ha: 配置中心基于zookeeper叢集, 隻要叢集節點保證存活數量大于n/2+1, 就可保證服務穩定, 避免單點風險;
7、分布式: 可友善的接入線上分布式部署的各個業務線, 統一管理配置資訊;
8、配置共享: 平台中的配置資訊針對各個業務線是平等的, 各個業務線可以共享配置中心的配置資訊, 當然也可以配置業務内專屬配置資訊;
9、配置分組: 支援對配置進行分組管理, 每條配置将會生成全局唯一标示groupkey,在client端使用時,需要通過該值比對對應的配置資訊;
1.3 背景
why not properties
正常項目開發過程中, 通常會将配置資訊位于在項目resource目錄下的properties檔案檔案中, 配置資訊通常包括有: jdbc位址配置、redis位址配置、活動開關、門檻值配置、黑白名單……等等。使用properties維護配置資訊将會導緻以下幾個問題:
1、需要手動修改properties檔案;
2、需要重新編譯打包;
3、需要重新開機線上伺服器 (項目叢集時,更加令人崩潰) ;
4、配置生效不及時: 因為流程複雜, 新的配置生效需要經曆比較長的時間才可以生效;
5、不同環境上線包不一緻: 例如jdbc連接配接, 不同環境需要差異化配置;
why xxl-conf
1、不需要 (手動修改properties檔案) : 在配置管理中心提供的web界面中, 定位到指定配置項, 輸入新的配置的值, 點選更新按鈕即可;
2、不需要 (重新編譯打包) : 配置更新後, 實時推送新配置資訊至項目中, 不需要編譯打包;
3、不需要 (重新開機線上伺服器) : 配置更新後, 實時推送新配置資訊至項目中, 實時生效, 不需要重新開機線上機器; (在項目叢集部署時, 将會節省大量的時間, 避免了叢集機器一個一個的重新開機, 費時費力)
4、配置生效 "非常及時" : 點選更新按鈕, 新的配置資訊将會即可推送到項目中, 瞬間生效, 非常及時。比如一些開關類型的配置, 配置變更後, 将會立刻推送至項目中并生效, 相對正常配置修改繁瑣的流程, 及時性可謂天壤之别;
5、不同環境 "同一個上線包" : 因為差異化的配置托管在配置中心, 是以一個上線包可以複用在生産、測試等各個運作環境, 提供能效;
1.4 下載下傳
源碼位址 (将會在兩個git倉庫同步釋出最新代碼)
github位址
git.oschina位址
最新release版本: v1.3.0 最新beta版本: v1.3.0
中央倉庫位址 (最新release版本)