nginx基于cookie灰度发布

阅读原文: nginx基于cookie灰度发布
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

前端nginx服务器监听端口80,需要根据cookie转发,查询的cookie的键(key)为test(该键由开发负责增加),如果该cookie值(value)为1则转发到web1,不为2则转发到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设置cookie方法

阅读原文: carey的博客

你可能感兴趣的:(nginx基于cookie灰度发布)