1.通过Ingress-nginx实现灰度发布场景一: 将新版本灰度给部分用户假设线上运行了一套对外提供 7 层服务的 Service A 服务,后来开发了个新版本 Service A’ 想 要上线,但又不想直接替换掉原来的 Service A,希望先灰度一小部分用户,等运行一段时间足够稳定 了再逐渐全量上线新版本,最后平滑下线旧版本。这个时候就可以利用 Nginx Ingress 基于 Head
转载
2024-02-19 11:12:59
274阅读
前言 随着公司业务规模扩大,传统的架构已无法支撑业务量阶梯式的增长,应用发布也必须迎来调整。之前的发布方式,需要通过脚本切换nginx,然后通过ansible进行批量发布;由于业务的特殊性质,原有方案一旦上线代码出现bug或者人为出现操作失误,将导致大面积应用无法提供服务,为了避免故障发生造成毁灭性的后果,决定分布进行架构调整
转载
2024-01-04 06:12:06
113阅读
# Nginx + Lua + Redis 灰度发布实战
在现代的 web 服务架构中,灰度发布是一种非常重要的技术手段。它允许开发团队在不影响大部分用户的情况下,逐步推出新功能或版本。本文将结合 **Nginx**、**Lua** 和 **Redis** 来实现一个基本的灰度发布方案,并通过代码示例来阐明如何实现这一过程。
## 灰度发布简介
灰度发布(Canary Release)是指在
原创
2024-10-29 05:28:02
120阅读
Nginx+Lua实现灰度发布标签(空格分隔):Nginx博客地址:https://i4t.comlua脚本由人人网运维组长王李明提供一、概念灰度发布概念按照一定的关系区分,分不分的代码进行上线,使代码的发布能平滑过渡上线△使用用户的信息cookie等信息区别△根据用户的ip地址区分(本次使用ip地址区分)灰度发布百度解释灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其
原创
2021-03-09 12:23:45
515阅读
之前简单写过缓存预热加上二级缓存,感觉还挺好玩的,在b站看到nginx的视频,也调用lua的模块,做了灰度发布,自己做了几个小时,结果最后失败了,可能是虚拟机的原因,nginx那台经常登不上,下面就是它的主要流程。 Nginx调用Lua指令 Nginx调用Lua模块指令, Nginx的可插拔模块加载
转载
2020-11-27 14:07:00
344阅读
2评论
Nginx调用Lua指令Nginx调用Lua模块指令, Nginx的可插拔模块加载执行, 共11个处理阶段语
原创
2022-03-25 15:53:16
1488阅读
动 2个 nginx容器[root@node3 conf]# docker psCONTAINER ID IMAGE COMMAND PORTS NAMESb040478a0ab9 nginx "/.
原创
2022-11-17 00:23:30
563阅读
作者:马仁喜前言:授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言)一、灰度方案:常见的灰度实现方案:1.请求路由:通过请求中的标识(如用户ID、设备ID、
一、灰度发布原理说明灰度发布在百度百科中解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方
原创
精选
2023-05-08 13:54:09
406阅读
目录一、什么叫灰度发布?二、配置文件以及lua脚本编写1、nginx.conf 添加两个灰度发布的环境 #client2 灰度环境地址 #client1生产环境地址2、gray.lua一、什么叫灰度发布?灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。 一般是产品上线一个功能,希望在线上可以进行A/B testin
点击上方 "编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文It doesn't matter how slow you are, as...
转载
2021-05-28 15:28:23
122阅读
文彪 运维 3月8日作者:文彪链接:https://www.cnblogs.com/wenbiao/p/3227998.html一、灰度发布原理说明灰度发布在百度百科中解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证
转载
2021-03-23 13:50:38
174阅读
一、灰度发布原理说明灰度发布在百度百科中解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。这里的用于WEB系统新代码的测试发布,让一部分(IP)用户
转载
2021-04-20 15:34:57
173阅读
一、灰度发布原理说明灰度发布在百度百科中解释:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户...
转载
2021-07-06 16:23:02
304阅读
基于 Nginx+lua+Memcache 实现灰度发布
转载
2021-01-19 09:20:00
95阅读
nginx+lua+redis实现灰度发布:灰度发布是指在黑白之间能够平滑过渡的一种方式AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布可以保证应用系统的稳定,降低产品升级影响的用户范围;也可以按照
转载
2024-03-22 13:11:40
63阅读
今天是元宵,祝大家元宵节快乐!在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。滚动更新:依次进行新旧替换,直到旧的全部被替换为止。蓝绿发布:两套独立的系统,对外提供服务的称为绿系统,待上线的服务称为蓝系统,当蓝系统里面的应用测试完成后,用户流量接入蓝系统,蓝系统将称为绿系统,以前的绿系统就可以销
转载
2024-01-31 01:18:35
72阅读
由于业务需要,要做灰度发布测试,刚开始考虑通过IP来做判断,分发不同的后端,但是由于IP不好确定,有的客户端IP不固定,所以考虑用cookie来做逻辑很简单,如下图: 在nginx做这个很简单,两个方法,map或if首先看map怎么做为了模拟环境,我又不想多开服务器,所以起了个httpd,配置两个vhost,当作两个后端,如下: 我给这两个vhost,配置不同
转载
2024-04-07 13:12:44
95阅读
背景测试环境并行测试:一个服务有多个需求同时进行测试,需要nginx根据特定信息将流量转发到指定测试机。全链路压测:流量无区分,影响线上用户,只能在业务低峰进行压测,需要值守,成本较高,需要能够流量隔离,随时可以进行压测。灰度发布:需要nginx根据指定信息将流量转发到指定的灰度机器上。ngx_lua模块ngx_lua是Nginx的一个模块,将Lua嵌入到Nginx中,从而可以使用Lua来编写脚本
目标灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B 上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。1.2架构图1.3方案对比1、在代码中做。一套线上环境,代码中