使用openresty实现按照流量百分比控制的灰度分流控制

安装好以后直接就可以配置实践了,openresty将lua都集成好了,nginx配置文件无需特殊声明引入lua file。

1.nginx.conf 添加两个灰度发布的环境 #grey 灰度环境地址 #prd生产环境地址

http块操作

    upstream grey {
        server 127.0.0.1:8080;
    }

    upstream prd {
        server 139.162.116.84:8080;
    }

server块操作,添加对应location

    location @grey{
        proxy_pass http://grey  
    }

   

    location @prd{
        proxy_pass http://prd  
    }
    
    # 在server 里根location指定lua文件
    location / {
        default_type 'text/html';
        content_by_lua_file /root/openresty/nginx/conf/lua_conf/grey.lua;
    }
[root@luka77 lua_conf]# cat penresty/nginx/conf/lua_conf/grey.lua
foreign_env = 'grey'
china_env = 'prd'
--流量比率
abtest_num = 50   
local num = math.random(100);
if (num <= abtest_num) then
   ngx.log(ngx.INFO,'use foreign environment',foreign_env)
   ngx.exec("@"..foreign_env)
else
   ngx.log(ngx.INFO,'use foreign environment',china_env)
   ngx.exec("@"..china_env)
end
posted @   哈喽哈喽111111  阅读(2013)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2018-08-09 爬取古剑奇谭三官网的图片
点击右上角即可分享
微信分享提示