1、藍綠發布 項目邏輯上分為AB組,在項目部署時,先把A組從負載均衡中摘除,進行新版本的部署,項目B繼續提供服務,當A組升級完畢,負載均衡重新接入A組,再把B組摘除,進行新版本部署,A組重新提供服務。
最后B組也升級完成重新接入負載均衡,此時AB組均升級完成,並且都對外提供服務 優點: 發布策略簡單,用戶無感知,平滑過渡,升級/回滾速度快 缺點: 需要兩倍以上的服務器,短時間內浪費資源成本
金絲雀發布也叫灰度發布
灰度發布只升級部分服務,讓一部分用戶繼續使用老版本,一部分使用新版本,
如果新版本使用平滑並沒什么意見,那么逐漸擴大升級范圍,把所有用戶都往新版本遷移
優點:
保證整體系統的穩定性,再初始灰度的時候就可以發現,調整問題,影響范圍可控。
用戶無感知
缺點:
自動化要求高
滾動發布:
滾動發布指每次都只升級一個或者多個服務,升級完成后加入prod環境,不斷執行這個
過程,直到所有程序都升級到新版本
優點:
用戶無感知,節約資源
缺點:
部署時間慢,取決於每個階段更新時間
發布策略較為復雜
無法確認ok的環境,不易回滾
如果自動化運維能力不夠,肯定越簡單越好,建議藍綠發布
如果業務對用戶依賴很強,建議灰度發布
如果是K8s平台,建議滾動發布