藍綠部署逼裆、滾動部署郁稍、灰度發(fā)布、金絲雀發(fā)布

在項目迭代的過程中波附,不可避免需要”上線“艺晴。上線對應著部署昼钻,或者重新部署掸屡;部署對應著修改;修改則意味著風險然评。

目前有很多用于部署的技術仅财,有的簡單,有的復雜碗淌;有的得停機盏求,有的不需要停機即可完成部署。本文的目的就是將目前常用的布署方案做一個總結亿眠。

一碎罚、藍綠布署

Blue/Green Deployment(藍綠部署)

1、定義

藍綠部署是不停老版本纳像,部署新版本然后進行測試荆烈,確認OK,將流量切到新版本竟趾,然后老版本同時也升級到新版本憔购。

1、特點

藍綠部署無需停機岔帽,并且風險較小玫鸟。

2、布署過程

第一步犀勒、部署版本1的應用(一開始的狀態(tài))所有外部請求的流量都打到這個版本上屎飘。

image.png

第二步、部署版本2的應用版本2的代碼與版本1不同(新功能贾费、Bug修復等)钦购。

第三步、將流量從版本1切換到版本2铸本。

image.png

第四步肮雨、如版本2測試正常,就刪除版本1正在使用的資源(例如實例)箱玷,從此正式用版本2怨规。

3陌宿、小結

從過程不難發(fā)現(xiàn),在部署的過程中波丰,我們的應用始終在線壳坪。并且,新版本上線的過程中掰烟,并沒有修改老版本的任何內容爽蝴,在部署期間,老版本的狀態(tài)不受影響纫骑。這樣風險很小蝎亚,并且,只要老版本的資源不被刪除先馆,理論上发框,我們可以在任何時間回滾到老版本。

4煤墙、藍綠發(fā)布的注意事項

當你切換到藍色環(huán)境時梅惯,需要妥當處理未完成的業(yè)務和新的業(yè)務。如果你的數(shù)據(jù)庫后端無法處理仿野,會是一個比較麻煩的問題铣减;
可能會出現(xiàn)需要同時處理“微服務架構應用”和“傳統(tǒng)架構應用”的情況,如果在藍綠部署中協(xié)調不好這兩者脚作,還是有可能會導致服務停止葫哗。
需要提前考慮數(shù)據(jù)庫與應用部署同步遷移 /回滾的問題。
藍綠部署需要有基礎設施支持鳖枕。
在非隔離基礎架構( VM 魄梯、 Docker 等)上執(zhí)行藍綠部署,藍色環(huán)境和綠色環(huán)境有被摧毀的風險宾符。

二酿秸、Rolling update(滾動發(fā)布)

1、滾動發(fā)布定義

滾動發(fā)布:一般是取出一個或者多個服務器停止服務魏烫,執(zhí)行更新辣苏,并重新將其投入使用。周而復始哄褒,直到集群中所有的實例都更新成新版本稀蟋。

2、特點

這種部署方式相對于藍綠部署呐赡,更加節(jié)約資源——它不需要運行兩個集群退客、兩倍的實例數(shù)。我們可以部分部署,例如每次只取出集群的20%進行升級萌狂。

這種方式也有很多缺點档玻,例如:

(1) 沒有一個確定OK的環(huán)境。使用藍綠部署茫藏,我們能夠清晰地知道老版本是OK的误趴,而使用滾動發(fā)布,我們無法確定务傲。
(2) 修改了現(xiàn)有的環(huán)境凉当。
(3) 如果需要回滾,很困難售葡。舉個例子看杭,在某一次發(fā)布中,我們需要更新100個實例天通,每次更新10個實例泊窘,每次部署需要5分鐘。當滾動發(fā)布到第80個實例時像寒,發(fā)現(xiàn)了問題,需要回滾瓜贾,這個回滾卻是一個痛苦诺祸,并且漫長的過程。
(4) 有的時候祭芦,我們還可能對系統(tǒng)進行動態(tài)伸縮筷笨,如果部署期間,系統(tǒng)自動擴容/縮容了龟劲,我們還需判斷到底哪個節(jié)點使用的是哪個代碼胃夏。盡管有一些自動化的運維工具,但是依然令人心驚膽戰(zhàn)昌跌。
(5) 因為是逐步更新仰禀,那么我們在上線代碼的時候,就會短暫出現(xiàn)新老版本不一致的情況蚕愤,如果對上線要求較高的場景答恶,那么就需要考慮如何做好兼容的問題。

三萍诱、灰度發(fā)布/金絲雀部署

1悬嗓、定義

灰度發(fā)布是指在黑與白之間,能夠平滑過渡的一種發(fā)布方式裕坊。AB test就是一種灰度發(fā)布方式包竹,讓一部分用戶繼續(xù)用A,一部分用戶開始用B,如果用戶對B沒有什么反對意見周瞎,那么逐步擴大范圍悟狱,把所有用戶都遷移到B上面來⊙呙ィ灰度發(fā)布可以保證整體系統(tǒng)的穩(wěn)定挤渐,在初始灰度的時候就可以發(fā)現(xiàn)、調整問題双絮,以保證其影響度浴麻,而我們平常所說的金絲雀部署也就是灰度發(fā)布的一種方式。

注釋:礦井中的金絲雀
17世紀囤攀,英國礦井工人發(fā)現(xiàn)软免,金絲雀對瓦斯這種氣體十分敏感》倌樱空氣中哪怕有極其微量的瓦斯膏萧,金絲雀也會停止歌唱;而當瓦斯含量超過一定限度時蝌衔,雖然魯鈍的人類毫無察覺榛泛,金絲雀卻早已毒發(fā)身亡。當時在采礦設備相對簡陋的條件下噩斟,工人們每次下井都會帶上一只金絲雀作為“瓦斯檢測指標”曹锨,以便在危險狀況下緊急撤離。

灰度發(fā)布結構圖如下:

image.png

2剃允、灰度發(fā)布/金絲雀發(fā)布由以下幾個步驟組成:

準備好部署各個階段的工件沛简,包括:構建工件,測試腳本斥废,配置文件和部署清單文件椒楣。
從負載均衡列表中移除掉“金絲雀”服務器。
升級“金絲雀”應用(排掉原有流量并進行部署)牡肉。
對應用進行自動化測試捧灰。
將“金絲雀”服務器重新添加到負載均衡列表中(連通性和健康檢查)。
如果“金絲雀”在線使用測試成功荚板,升級剩余的其他服務器凤壁。(否則就回滾)
除此之外灰度發(fā)布還可以設置路由權重,動態(tài)調整不同的權重來進行新老版本的驗證跪另。

轉自:https://blog.csdn.net/u013970991/article/details/77090717

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末拧抖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子免绿,更是在濱河造成了極大的恐慌唧席,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淌哟,居然都是意外死亡迹卢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門徒仓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腐碱,“玉大人,你說我怎么就攤上這事掉弛≈⒓” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵殃饿,是天一觀的道長谋作。 經常有香客問我,道長乎芳,這世上最難降的妖魔是什么遵蚜? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮奈惑,結果婚禮上吭净,老公的妹妹穿的比我還像新娘。我一直安慰自己携取,他們只是感情好闷尿,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布洲愤。 她就那樣靜靜地躺著烫堤,像睡著了一般撩笆。 火紅的嫁衣襯著肌膚如雪泌霍。 梳的紋絲不亂的頭發(fā)上义锥,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天捏雌,我揣著相機與錄音宴霸,去河邊找鬼姆坚。 笑死澳泵,一個胖子當著我的面吹牛,可吹牛的內容都是我干的兼呵。 我是一名探鬼主播兔辅,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼击喂!你這毒婦竟也來了维苔?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤懂昂,失蹤者是張志新(化名)和其女友劉穎介时,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡沸柔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年循衰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片褐澎。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡会钝,死狀恐怖,靈堂內的尸體忽然破棺而出工三,到底是詐尸還是另有隱情迁酸,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布徒蟆,位于F島的核電站胁出,受9級特大地震影響,放射性物質發(fā)生泄漏段审。R本人自食惡果不足惜全蝶,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寺枉。 院中可真熱鬧抑淫,春花似錦、人聲如沸姥闪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筐喳。三九已至催式,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間避归,已是汗流浹背荣月。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留梳毙,地道東北人哺窄。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像账锹,于是被迫代替她去往敵國和親萌业。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內容