使用Nginx實現簡單灰度發布

2021-10-08 05:11:24 字數 1348 閱讀 3655

灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。

注意,nginx安裝時需要安裝如下模組,讓nginx能獲取到客戶端真實的ip

--with-http_realip_module
灰度發布常見一般有三種方式:

1,nginx根據cookie實現灰度發布

根據cookie查詢cookie鍵為version的值,如果該cookie值為v1則**到server_01,為v2則**到server_02。cookie值都不匹配的情況下預設走default所對應的伺服器。
if指令實現:

}用map指令實現:

在nginx裡面配置乙個對映,coo

kiev

ersi

on可以

解析出c

ooki

e裡面的

vers

ion字

段。

cookie_version可以解析出cookie裡面的version欄位。

cookie

v​er

sion

可以解析

出coo

kie裡

面的ve

rsio

n欄位。

group是乙個變數,{}裡面是對映規則。

upstream server_01 

upstream server_02

upstream default

map $cookie_version $group

server

}

2,nginx根據來路ip實現灰度發布

如果是內部ip,則反向**到server_02;如果不是則反向**到server_01。

upstream server_01 

upstream server_02

upstream default

server

location /

}

如果你只有單台伺服器,可以根據不同的ip設定不同的**根目錄來達到相同的目的。

server 

location /

}

使用Nginx實現灰度發布

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

使用Nginx實現灰度發布

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

Nginx實現系統灰度發布

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