藍綠部署,英文名blue green deployment,是一種可以保證系統在不間斷提供服務的情況下上線的部署方式。
如何保證系統不間斷提供服務呢?
藍綠部署的模型中包含兩個集群,就好比海豚的左腦和右腦。
在沒有上線的正常情況下,集群a和集群b的**版本是一致的,並且同時對外提供服務。
在系統公升級的時候下,我們首先把乙個集群(比如集群a)從負載列表中摘除,進行新版本的部署。集群b仍然繼續提供服務。
當集群a公升級完畢,我們把負載均衡重新指向集群a,再把集群b從負載列表中摘除,進行新版本的部署。集群a重新提供服務。
最後,當集群b也公升級完成,我們把集群b也恢復到負載列表當中。這個時候,兩個集群的版本都已經公升級,並且對外的服務幾乎沒有間斷過。
滾動部署,英文rolling update,同樣是一種可以保證系統在不間斷提供服務的情況下上線的部署方式。
和藍綠部署不同的是,滾動部署對外提供服務的版本並不是非此即彼,而是在更細的粒度下平滑完成版本的公升級。
如何做到細粒度平滑公升級版本呢?
滾動部署只需要乙個集群,集群下的不同節點可以獨立進行版本公升級。比如在乙個16節點的集群中,我們選擇每次公升級4個節點:
以此類推,最終所有的節點都公升級了版本。
什麼是藍綠部署 滾動發布 灰度發布?
在一般情況下,公升級伺服器端應用,需要將應用原始碼或程式包上傳到伺服器,然後停止掉老版本服務,再啟動新版本。但是這種簡單的發布方式存在兩個問題,一方面,在新版本公升級過程中,服務是暫時中斷的,另一方面,如果新版本有bug,公升級失敗,回滾起來也非常麻煩,容易造成更長時間的服務不可用。為了解決這些問題...
通過Kong實現藍綠部署
藍綠部署的起源 藍綠部署的靈感起源於 海騰 海豚 海豚是永遠不睡覺的,這是因為海豚有兩個腦子,左腦和右腦,平時的時候左腦和右腦都在工作,而在休息的時候右腦是運作的以防止被攻擊。kong的藍綠部署簡述 假設業務剛開始,我們建立乙個藍色環境 upstreams post upstreams aab0d9...
OpenShift藍綠及灰度部署
內容 並不斷補充,感謝作者.藍綠部署實現的是全流量切換,適合於在測試完部署的服務新版本後,最少時間將流量切換到新的服務版本。切換路由帶來的問題是,如果乙個請求尚未完成,能否實現graceful switch 針對服務生成route oc expose service servicea name se...