Nginx 灰度發布(基於cookies)

2022-03-13 13:03:17 字數 785 閱讀 1748

灰度發布是指在黑與白之間,能夠平滑過渡的一種發布方式。ab test就是一種灰度發布方式,讓一部分使用者繼續用a,一部分使用者開始用b,如果使用者對b沒有什麼反對意見,那麼逐步擴大範圍,把所有使用者都遷移到b上面 來。灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。

灰度發布一般有三種方式 nginx+lua,nginx根據cookie分流,nginx 根據權重來分配

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 lua根據來訪者ip位址區分 nginx根據cookie分流 nginx根據權重分配 nginx基於使用者標識灰度發布 upstream g1 upstream g2 server localhost nginx伺服器監聽80,...

使用Nginx實現灰度發布

灰度發布是指在黑與白之間,能夠平滑過渡的一種發布方式。ab test就是一種灰度發布方式,讓一部分使用者繼續用a,一部分使用者開始用b,如果使用者對b沒有什麼反對意見,那麼逐步擴大範圍,把所有使用者都遷移到b上面來。灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現 調整問題,以保證其影響度...

Nginx實現系統灰度發布

在系統發布的時候,經常會遇到要停機發布的情況。大家經常會在凌晨去發布系統。這樣導致開發和測試的同時都很辛苦。那麼有沒有一種比較簡單 成本相對可以接受的方式來進行發布呢?在這裡,給大家推薦灰度發布的方式。灰度發布的方式很多,最簡單的操作方式是直接操作nginx的upstream來進行灰度發布。前提 至...