灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。
注意,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
ver
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來進行灰度發布。前提 至...