天天看點

XXL-CONF v1.3.0,分布式配置管理平台

版本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版本)