詳細解釋
軟體發布策略:同時維護兩套相同的生產環境(藍色=當前,綠色=新版本),瞬間切換流量,實現零停機部署。
運作機制:
- 藍環境:當前運行版本,處理所有流量
- 綠環境:部署新版本,內部測試
- 切換:負載均衡器瞬間將流量從藍轉到綠
- 回滾:若問題,立即切回藍色
與金絲雀部署的對比:
- 藍綠:全量切換,非漸進,適合對一致性要求高的場景
- 金絲雀:漸進切換,適合驗證新版本的穩定性
- 藍綠更適合:數據庫 schema 不變、快速回滾關鍵
- 金絲雀更適合:大規模用戶、需要觀察漸進效果
實施要點:
- 數據庫:藍綠共享數據庫,需向前兼容
- 會話:用戶會話需跨環境保持(外部存儲)
- 資源:需要兩倍基礎設施
- 測試:綠環境充分測試後再切換
AI 系統應用:
- 模型版本切換:從模型 A 到模型 B
- 特性切換:新功能同時在全系統上線
- 災難恢復:一個環境完全失效時的備份
工具:
- Kubernetes:Service + Deployment 實現
- AWS Route 53:DNS 級別切換
- 負載均衡器:Nginx、HAProxy、ELB
這是「零停機部署」的經典方案—— 風險最小化,適合關鍵系統。