

我想把“藍綠部署”和“服務熔斷”納入我的版圖很久了,但是內容卻少的可憐,所以一直沒動手,今天,我不管了,
文章目錄
- 從不用睡覺的海豚說起
- 藍綠部署
- 滾動部署
- 各有千秋
從不用睡覺的海豚說起
大家都知道海豚這種可愛的海洋動物,但又有多少人知道,海豚可以永遠不睡覺,
是什么樣的能力,使得海豚可以永遠保持清醒呢?依靠的是海豚大腦特殊的運作方式,
像人一樣,海豚的大腦也分為左腦和右腦兩個部分,在海豚活躍的狀態下,左腦和右腦都是清醒的,
當然,海豚也是血肉之軀,也是需要休息的,在海豚休息的狀態下,其中一半大腦會進入睡眠,另一半大腦仍然保持清醒,以面對各種外界情況,
每隔兩個小時,這種一半睡眠一半清醒的狀態會進行交替,比如這一刻左腦睡眠右腦清醒,下一刻左腦清醒右腦睡眠,
這就是海豚永遠不會真正睡覺的秘密,
那這跟藍綠部署有什么關系呢?
藍綠部署
藍綠部署,是一種可以保證系統在不間斷提供服務的情況下上線的部署方式,
如何保證系統不間斷提供服務呢?
藍綠部署的模型中包含兩個集群,就好比海豚的左腦和右腦,在沒有上線的正常情況下,集群A和集群B的代碼版本是一致的,并且同時對外提供服務,

在系統升級的時候下,我們首先把一個集群(比如集群A)從負載串列中摘除,進行新版本的部署,集群B仍然繼續提供服務,

當集群A升級完畢,我們把負載均衡重新指向集群A,再把集群B從負載串列中摘除,進行新版本的部署,集群A重新提供服務,

最后,當集群B也升級完成,我們把集群B也恢復到負載串列當中,這個時候,兩個集群的版本都已經升級,并且對外的服務幾乎沒有間斷過,
滾動部署
滾動部署,英文Rolling update,同樣是一種可以保證系統在不間斷提供服務的情況下上線的部署方式,
和藍綠部署不同的是,滾動部署對外提供服務的版本并不是非此即彼,而是在更細的粒度下平滑完成版本的升級,
如何做到細粒度平滑升級版本呢?
滾動部署只需要一個集群,集群下的不同節點可以獨立進行版本升級,比如在一個16節點的集群中,我們選擇每次升級4個節點:

以此類推,最終所有的節點都升級了版本,
各有千秋

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264812.html
標籤:其他
下一篇:馮諾依曼體系結構
