阅读原文: 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方法
<?php
$value = '1';
setcookie("test",$value);
阅读原文: carey的博客