配置中心篇——統(tǒng)一配置中心選型對比

為什么需要集中配置

程序的發(fā)展宏榕,需要引入集中配置

  • 隨著程序功能的日益復雜,程序的配置日益增多:各種功能的開關侵佃、參數(shù)的配置麻昼、服務器的地址……
  • 并且對配置的期望也越來越高,配置修改后實時生效馋辈,灰度發(fā)布抚芦,分環(huán)境、分集群管理配置迈螟,完善的權限叉抡、審核機制……
  • 并且隨著采用分布式的開發(fā)模式,項目之間的相互引用隨著服務的不斷增多答毫,相互之間的調用復雜度成指數(shù)升高卜壕,每次投產或者上線新的項目時苦不堪言,因此需要引用配置中心治理烙常。

已有zookeeper轴捎、etcd還需要引入嗎

  • 之前的音樂服務項目蚕脏,通過etcd實現(xiàn)了服務的注冊與發(fā)現(xiàn)侦副,且一些業(yè)務配置也存儲到etcd中,通過實踐我們收獲了集中配置帶來的優(yōu)勢
  • 但是etcd并沒有方便的UI管理工具驼鞭,且缺乏權限秦驯、審核等機制
  • 最重要的是,etcd和zookeeper通常定義為服務注冊中心挣棕,統(tǒng)一配置中心的事情交給專業(yè)的工具去解決译隘。

有哪些開源配置中心

  1. spring-cloud/spring-cloud-config
    https://github.com/spring-cloud/spring-cloud-config
    spring出品亲桥,可以和spring cloud無縫配合

  2. 淘寶 diamond
    https://github.com/takeseem/diamond
    已經不維護

  3. disconf
    https://github.com/knightliao/disconf
    java開發(fā),百度固耘,業(yè)界使用廣泛

  4. ctrip apollo
    https://github.com/ctripcorp/apollo/
    Apollo(阿波羅)是攜程框架部門研發(fā)的開源配置管理中心题篷,具備規(guī)范的權限、流程治理等特性厅目。

配置中心對別

功能特性

我們先從功能層面來對別

功能點 優(yōu)先級 spring-cloud-config ctrip apollo disconf 備注
靜態(tài)配置管理 基于file 支持 支持
動態(tài)配置管理 支持 支持 支持
統(tǒng)一管理 無番枚,需要github 支持 支持
多環(huán)境 無,需要github 支持 支持
本地配置緩存 支持 支持
配置鎖 支持 不支持 不支持 不允許動態(tài)及遠程更新
配置校驗 如:ip地址校驗损敷,配置
配置生效時間 重啟生效葫笼,或手動refresh生效 實時 實時 需要結合熱加載管理, springcloudconfig需要 git webhook+rabbitmq 實時生效
配置更新推送 需要手工觸發(fā) 支持 支持
配置定時拉取 支持 配置更新目前依賴事件驅動拗馒, client重啟或者server端推送操作
用戶權限管理 無路星,需要github 支持 支持 現(xiàn)階段可以人工處理
授權芜辕、審核菠齿、審計 無赖欣,需要github 支持 現(xiàn)階段可以人工處理
配置版本管理 Git做版本管理 界面上直接提供發(fā)布歷史和回滾按鈕 操作記錄有落數(shù)據庫廊佩,但無查詢接口
配置合規(guī)檢測 不支持 支持(但還需完善)
實例配置監(jiān)控 需要結合springadmin 支持 支持,可以查看每個配置在哪些機器上加載
灰度發(fā)布 不支持 支持 不支持部分更新 現(xiàn)階段可以人工處理
告警通知 不支持 支持筛峭,郵件方式告警 支持,郵件方式告警
依賴關系 不支持 不支持 不支持 配置與系統(tǒng)版本的依賴系統(tǒng)運行時的依賴關系

技術路線兼容性

引入配置中心,需要考慮和現(xiàn)有項目的兼容性触菜,以及是否引入額外的第三方組件。我們的java項目以SpringBoot為主哀峻,需要重點關注springboot支持性涡相。

功能點 優(yōu)先級 spring-cloud-config ctrip apollo disconf 備注
SpringBoot支持 原生支持 支持 與spring boot無相關
SpringCloud支持 原生支持 支持 與spring cloud無相關
客戶端支持 Java Java、.Net java
業(yè)務系統(tǒng)侵入性 侵入性弱 侵入性弱 侵入性弱剩蟀,支持注解及xml方式
依賴組件 Eureka Eureka zookeeper

可用性與易用性

引入配置中心后催蝗,所有的應用都需要依賴配置中心,因此可用性需要重點關注育特,另外管理的易用性也需要關注丙号。

功能點 優(yōu)先級 spring-cloud-config ctrip apollo disconf 備注
單點故障(SPOF) 支持HA部署 支持HA部署 支持HA部署,高可用由zookeeper保證
多數(shù)據中心部署 支持 支持 支持
配置獲取性能 unkown unkown(官方說比spring快)
配置界面 無缰冤,需要通過git操作 統(tǒng)一界面(ng編寫) 統(tǒng)一界面

最終選擇

綜上犬缨,ctrip apollo是較好的選擇方案,最終選擇apollo棉浸。

  • 支持不同環(huán)境(開發(fā)怀薛、測試、生產)迷郑、不同集群
  • 完善的管理系統(tǒng)枝恋,權限管理创倔、發(fā)布審核、操作審計
  • SpringBoot集成友好 焚碌,較小的遷移成本
  • 配置修改實時生效(熱發(fā)布)
  • 版本發(fā)布管理

部署情況

  • 管理Web:http://config.***.com/
  • 三個環(huán)境MetaServer:
    • Dev: config.devmeta.***.com
    • Test: config.testmeta.***.com
    • PRO: config.prometa.***.com
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末畦攘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呐能,更是在濱河造成了極大的恐慌念搬,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摆出,死亡現(xiàn)場離奇詭異朗徊,居然都是意外死亡,警方通過查閱死者的電腦和手機偎漫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門爷恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人象踊,你說我怎么就攤上這事温亲。” “怎么了杯矩?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵栈虚,是天一觀的道長。 經常有香客問我史隆,道長魂务,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任泌射,我火速辦了婚禮粘姜,結果婚禮上,老公的妹妹穿的比我還像新娘熔酷。我一直安慰自己孤紧,他們只是感情好,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布拒秘。 她就那樣靜靜地躺著号显,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躺酒。 梳的紋絲不亂的頭發(fā)上咙轩,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機與錄音阴颖,去河邊找鬼活喊。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的钾菊。 我是一名探鬼主播帅矗,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼煞烫!你這毒婦竟也來了浑此?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤滞详,失蹤者是張志新(化名)和其女友劉穎凛俱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體料饥,經...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蒲犬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了岸啡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片原叮。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖巡蘸,靈堂內的尸體忽然破棺而出奋隶,到底是詐尸還是另有隱情,我是刑警寧澤悦荒,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布唯欣,位于F島的核電站,受9級特大地震影響搬味,放射性物質發(fā)生泄漏境氢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一身腻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匹厘,春花似錦嘀趟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至炕柔,卻和暖如春酌泰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匕累。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工陵刹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人欢嘿。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓衰琐,卻偏偏與公主長得像也糊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子羡宙,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內容