整理 灰度發布策略

2022-02-18 06:54:53 字數 1263 閱讀 2856

目錄灰度發布是版本公升級平滑過渡的一種方式(也可以增加產品的某些特性)。

簡而言之,當版本公升級時,使部分使用者使用高版本,其他使用者繼續使用低版本,待高版本穩定後,逐步擴大範圍把所有使用者流量都遷移到高版本上面來。

ab test也是一種灰度發布方式,讓一部分使用者繼續用a,一部分使用者開始用b,如果使用者對b沒有什麼反對意見,那麼逐步擴大範圍,把所有使用者都遷移到b上面來。

參見:nginx編譯安裝lua模組

nginx+lua根據來訪者ip位址區分,由於公司出口是乙個ip位址,會出現訪問**要麼都是老版,要麼都是新版,採用這種方式並不適合

nginx 根據權重來分配,實現很簡單,也可以嘗試

nginx根據cookie分流,灰度發布基於使用者才更合理

兩台伺服器分別定義為

tts_v6  192.168.3.81:5280

tts_v7 192.168.3.81:5380

預設伺服器為:

default:192.168.3.81:5280
前端nginx伺服器監聽埠80,需要根據cookie**,查詢的cookie的鍵(key)為tts_version_id(該鍵由開發負責增加),如果該cookie值(value)為tts1則**到tts_v6,為tts2則**到tts_v7。

}nginx 的語法本身可以看作是一門小型的程式語言,通過簡單的程式設計,可以輕鬆實現基於ip的灰度發布。

nginx 負載均衡器判斷客戶端ip位址,

如果是辦公室ip,則反向**到準生產環境;

如果不是,則反向**到生產環境。

upstream prod 

upstream pre-prod

server

location /

}

同理,也可以根據不同的ip,設定不同的**根目錄,達到相同的目的。

server 

location /

}

同理,還可以利用geoip做基於地理位置的灰度發布,不詳細介紹。

注: set 命令依賴rewrite 模組。

線上版本灰度發布策略

從接觸運維開始,最苦逼的事情就是業務上線,為什麼這麼說?就是因為有了很多的大坑隊友。不是因為開發的童鞋漏提 就是因為測試童鞋線下測試的不到位導致 扔到線上後出現各種問題,各種404。近期和各位童鞋研究了應對這種現象的解決方案,得到了如下結果 上線分為如下幾種等級 測試發布 預發布 灰度發布 正式發布...

灰度發布 灰度很簡單,發布很複雜

什麼是灰度發布,其要點有哪些?最近跟幾個聊的來的同行來了一次說聚就聚的晚餐,聊了一下最近的工作情況如何以及未來規劃等等,酒足飯飽後我們聊了乙個話題 灰度發布 因為筆者所負責的產品還沒有達到他們產品使用者的量級上 最低的都在1千萬 也就談不上灰度發布這一環節,所以只有聽的份。雖然筆者暫時沒有涉及到,但...

灰度發布 灰度很簡單,發布很複雜

什麼是灰度發布,其要點有哪些?最近跟幾個聊的來的同行來了一次說聚就聚的晚餐,聊了一下最近的工作情況如何以及未來規劃等等,酒足飯飽後我們聊了乙個話題 灰度發布 因為筆者所負責的產品還沒有達到他們產品使用者的量級上 最低的都在1千萬 也就談不上灰度發布這一環節,所以只有聽的份。雖然筆者暫時沒有涉及到,但...