nginx基于cookie灰度發(fā)布

閱讀原文: nginx基于cookie灰度發(fā)布
灰度發(fā)布是指在黑與白之間,能夠平滑過渡的一種發(fā)布方式。AB test就是一種灰度發(fā)布方式,讓一部分用戶繼續(xù)用A,一部分用戶開始用B,如果用戶對(duì)B沒有什么反對(duì)意見,那么逐步擴(kuò)大范圍,把所有用戶都遷移到B上面 來?;叶劝l(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時(shí)候就可以發(fā)現(xiàn)、調(diào)整問題,以保證其影響度。

前端nginx服務(wù)器監(jiān)聽端口80,需要根據(jù)cookie轉(zhuǎn)發(fā),查詢的cookie的鍵(key)為test(該鍵由開發(fā)負(fù)責(zé)增加),如果該cookie值(value)為1則轉(zhuǎn)發(fā)到web1,不為2則轉(zhuǎn)發(fā)到web2

upstream web1 {
    server 192.168.56.102 weight=1 max_fails=3 fail_timeout=3;
}
upstream web2 {
    server 192.168.56.103 weight=1 max_fails=3 fail_timeout=3;
}

server ....

location ~ / {
    set $coo "1";
    
    if ($http_cookie ~* "test=1") {
      set $coo web2;
    }

    if ($http_cookie !~* "test=1") {
      set $coo web1;
    }
    
    proxy_pass http://$coo;
    include proxy.conf;
    }
}

php設(shè)置cookie方法

<?php
$value = '1';
setcookie("test",$value);

閱讀原文: carey的博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容