配置中心存放文件還是 Key-Value鍵值對问畅?

容器的配置文件存放在配置中心(consul)時,會有幾種不同的存放方法六荒。最典型的就是將文件直接存放在 配置中心护姆,容器啟動時,到配置中心下載后掏击,即可使用卵皂。 也可以將配置提取成 鍵值對,配合渲染程序將模板渲染成 目標配置文件砚亭。

文件模式 (FILE)

文件模式是將一整個文件灯变,存放在consul的一個key中殴玛。

文件模式的優(yōu)點

  1. 簡單:容易得到用戶的理解,方便推廣添祸。
  2. 靈活:可以在consul頁面上滚粟,直接編輯配置文件本身,那么就可以為參數(shù)編寫注釋刃泌, 也可以禁用某個參數(shù)坦刀。

文件模式的缺點

  1. 對比 staging 和 生產環(huán)境配置文件的差異,難度很高蔬咬,這增加了運維難度鲤遥。
  2. 保持 staging 和 生產配置的一致性,完全依賴人工林艘,這增加了生產環(huán)境由于配置不一致而出錯的風險盖奈。
  3. 運維人員需要知道所有配置文件的路徑,配置方法狐援,對運維要求較高钢坦,并增加了運維出錯的風險。(通常一個git項目平均有2個配置文件啥酱, 一個產品有20個git項目爹凹,一個運維需要維護10個左右的項目,運維需要記得大概400個不同的配置文件, 經驗豐富的運維可能需要記住1000 個左右的配置文件)

鍵值對模式 (KV)

鍵值對模式是將配置文件中的參數(shù)提取成多個鍵值對镶殷,存在在consul中禾酱。 這就依賴于文件模板和渲染程序。

  • 文件模板: 采用jinja2 格式绘趋,這是一種可編程模板引擎颤陶。
  • 渲染程序: 根據(jù)規(guī)則渲染所有模板文件到目標路徑下。

鍵值對模式的優(yōu)點:

  1. 非常容易對比 staging和生產環(huán)境的差異陷遮。
  2. 可以保證staging和生產環(huán)境配置文件的一致性滓走。
  3. 配置文件格式與最終配置文件解耦。 運維無需關注配置文件格式和路徑帽馋。
  4. 可以在模板中編程搅方,以便同一份模板適應多種不同的環(huán)境。
  5. 可以迅速將任意配置文件參數(shù)化绽族。(系統(tǒng)默認配置文件姨涡,很可能我們只想該其中一個參數(shù),那么我們可以將其參數(shù)化)
  6. 模板維護在源代碼中项秉, 配置維護在consul中绣溜,實現(xiàn)了配置定義和配置工作的分離慷彤,同時分離娄蔼,并明確了開發(fā)和運維的職責怖喻。

除了以上運維優(yōu)點之外, 鍵值對模式岁诉,有如下幾個增強的優(yōu)點

  1. 支持繼承锚沸。
  2. 支持注入默認的全局變量。

鍵值對模式的缺點:

  1. 編寫模板文件需要投入人力成本涕癣。配置文件越大哗蜈,需要時間越多。
  2. 所有的配置文件的 鍵(key) 都平鋪在同一個空間下坠韩,因此
    • 配置文件很多時距潘,編輯不方便
    • 多個不同的容器使用參數(shù)時, 不能使用同名參數(shù)
    • 沒有命名空間的分隔只搁,不清楚參數(shù)作用在哪個容器中音比。
  3. 沒有辦法編寫注釋
  4. 沒有辦法 禁用一個key,同時保留這個key (你可以刪除一個key來禁用)

平臺的傾向性

用戶在了解 多種模式之間的優(yōu)缺點之后氢惋, 結合自己的業(yè)務形態(tài)和運維人員的現(xiàn)狀雀哨,會有自己合理的選擇叨襟。 作為技術方案提供方,我們?yōu)橛脩籼峁└唵魏透?guī)范的使用方法,但平臺本身不代替用戶做出決策进统,也不特定傾向于支持某一種特定方案。

我們需要的功能

  1. kv 的版本歷史功能
  2. 版本歷史中記錄了由哪個用戶做了此次修改澎嚣,修改時間是多少
  3. 基于歷史的回滾功能
  4. key 的 disable/enable 功能
  5. key 的 注釋功能
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末承二,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子震鹉,更是在濱河造成了極大的恐慌的妖,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件足陨,死亡現(xiàn)場離奇詭異嫂粟,居然都是意外死亡,警方通過查閱死者的電腦和手機墨缘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門星虹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人镊讼,你說我怎么就攤上這事宽涌。” “怎么了蝶棋?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵卸亮,是天一觀的道長。 經常有香客問我玩裙,道長兼贸,這世上最難降的妖魔是什么段直? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮溶诞,結果婚禮上鸯檬,老公的妹妹穿的比我還像新娘。我一直安慰自己螺垢,他們只是感情好喧务,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枉圃,像睡著了一般功茴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上孽亲,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天痊土,我揣著相機與錄音,去河邊找鬼墨林。 笑死赁酝,一個胖子當著我的面吹牛,可吹牛的內容都是我干的旭等。 我是一名探鬼主播酌呆,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼搔耕!你這毒婦竟也來了隙袁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤弃榨,失蹤者是張志新(化名)和其女友劉穎菩收,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲸睛,經...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡娜饵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了官辈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箱舞。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拳亿,靈堂內的尸體忽然破棺而出晴股,到底是詐尸還是另有隱情,我是刑警寧澤肺魁,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布电湘,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏寂呛。R本人自食惡果不足惜怎诫,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昧谊。 院中可真熱鬧,春花似錦酗捌、人聲如沸呢诬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尚镰。三九已至,卻和暖如春哪廓,著一層夾襖步出監(jiān)牢的瞬間狗唉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工涡真, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留分俯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓哆料,卻偏偏與公主長得像缸剪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子东亦,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內容