灰度發佈
灰度意義
無灰度:升級慢,人力散,回滾難,成功率低
有灰度,預發驗證,發現差異,可提前部署,切流量升級,影響範圍小
灰度策略
選型 | 金絲雀 | 藍綠 | 滾動 |
---|---|---|---|
內容 | 灰度發佈只升級部分服務,即讓一部分用戶繼續用老版本,一部分用戶開始用新版本,如果用戶對新版本沒什麼意見,那麼逐步擴大範圍,把所有用戶都遷移到新版本上面來。 | 項目邏輯上分爲AB組,在項目系統時,首先把A組從負載均衡中摘除,進行新版本的部署。B組仍然繼續提供服務。 | 滾動發佈是指每次只升級一個或多個服務,升級完成後加入生產環境,不斷執行這個過程,直到集羣中的全部舊版本升級新版本。 |
優勢 | 比例切換 | 0停機 | 節約資源 |
劣勢 | 運維要求高 | 資源冗餘 | 部署時間慢,取決於每階段更新時間; 發佈策略較複雜; 無法確定OK的環境,不易回滾。 |
場景 | 不同版本共存,用戶依賴強 | 實例少,運維簡單 | 週期長,k8s |
兼容處理
接口:只增不改,提供兼容版本
數據庫:兼容性與接口類似,簡單場景可共庫,複雜場景:離線升備庫,補齊數據後切流量到備庫
https://zhuanlan.zhihu.com/p/91003995
https://www.2cto.com/net/201901/793947.html