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方法

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

阅读原文: carey的博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容