| ylbtech-發布機制-金絲雀發布:百科 |
| 1. 金絲雀發布(單服務器組)返回頂部 |
先解釋下單服務器組的概念,早先我們機器資源比較緊張,不像現在雲計算和虛擬化(包括容器技術)這么發達,所以應用機器基本是預先靜態分配好的(一般由運維負責分配),原來應用 A 住在這 N 台機器上,那么下次升級發布的應用 A 也住在這 N 台機器上,所以稱為單服務器組發布方式。
在蠻力發布基礎上的一種簡單改進發布方式,目前仍然是不少成長型技術組織的主流發布方式。單服務器組下的金絲雀發布的簡化步驟如下圖所示:
發布前
先發一台金絲雀
全部發完
-
金絲雀發布一般先發 1 台,或者一個小比例,例如 2% 的服務器,主要做流量驗證用,也稱為金絲雀 (Canary) 測試(國內常稱灰度測試)。以前曠工開礦下礦洞前,先會放一只金絲雀進去探是否有有毒氣體,看金絲雀能否活下來,金絲雀發布由此得名。簡單的金絲雀測試一般通過手工測試驗證,復雜的金絲雀測試需要比較完善的監控基礎設施配合,通過監控指標反饋,觀察金絲雀的健康狀況,作為后續發布或回退的依據。
-
如果金絲測試通過,則把剩余的 V1 版本全部升級為 V2 版本。如果金絲雀測試失敗,則直接回退金絲雀,發布失敗。
優勢:
-
用戶體驗影響小,金絲雀發布過程出現問題只影響少量用戶
不足:
-
發布自動化程度不夠,發布期間可引發服務中斷
適用場合:
-
對新版本功能或性能缺乏足夠信心
-
用戶體驗要求較高的網站業務場景
-
缺乏足夠的自動化發布工具研發能力

少量金絲雀先接受流量,再全量發布,圖片來自附錄 6.1
| 2.返回頂部 |
對藍綠部署的一種簡單優化,發布時先從綠組拉入 1 台金絲雀,待金絲雀驗證通過再發全量。對比藍綠發布,該發布方式的優勢是有一個生產流量的金絲雀驗證過程,可以減輕 V2 可能有問題的風險和影響面。簡化發布過程如下圖所示:

| 3.返回頂部 |
| 4.返回頂部 |
| 5.返回頂部 |
| 6.返回頂部 |
| 作者:ylbtech 出處:http://ylbtech.cnblogs.com/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 |
