灰度發布概述
更新時間 2024-02-18 10:03:07
最近更新時間: 2024-02-18 10:03:07
分享文章
本節主要介紹灰度發布概述
灰度發布概述
應用程序升級面臨最大挑戰是新舊業務切換,將軟件從測試的最后階段帶到生產環境,同時要保證系統不間斷提供服務。如果直接將某版本上線發布給全部用戶,一旦遇到線上事故(或BUG),對用戶的影響極大,解決問題周期較長,甚至有時不得不回滾到前一版本,嚴重影響了用戶體驗。
長期以來,業務升級逐漸形成了幾個發布策略:金絲雀發布、藍綠發布、A/B測試、滾動升級以及分批暫停發布,盡可能避免因發布導致的流量丟失或服務不可用問題。ASM當前支持金絲雀發布和藍綠發布兩種發布方式。
金絲雀發布
又稱灰度發布,是版本升級平滑過渡的一種方式,當版本升級時,使部分用戶使用新版本,其他用戶繼續使用老版本,待新版本穩定后,逐步擴大范圍把所有用戶流量都遷移到新版本上面來。這樣可以最大限度地控制新版本發布帶來的業務風險,降低故障帶來的影響面,同時支持快速回滾。
圖 金絲雀發布流程

藍綠發布
藍綠發布提供了一種零宕機的部署方式,是一種以可預測的方式發布應用的技術,目的是減少發布過程中服務停止的時間。在保留老版本的同時部署新版本,將兩個版本同時在線,新版本和老版本相互熱備,通過切換路由權重的方式(非0即100)實現應用的不同版本上線或者下線,如果有問題可以快速地回滾到老版本。
圖 藍綠發布流程
