一种实现SSR灰度发布的方法技术

技术编号:13975598 阅读:639 留言:0更新日期:2016-11-11 10:41
本发明专利技术公开了一种实现SSR灰度发布的方法,所述方法基于nginx、memcache、lua,依赖nginx的高并发处理能力和memcache的hash缓存,使用lua脚本进行分流控制,根据用户的IP来进行分流,将不同用户分流到不同的系统上面实现灰度发布,让一部分用户继续使用SSR1.0系统,一部分用户开始使用SSR2.0系统,如果用户对SSR2.0系统没有反对意见,那么扩大范围,把所有用户迁移到SSR2.0系统上来。本发明专利技术方法实现原理简单,依赖memcache和nginx,可以提高系统的高并发处理能,使用lua进行分流控制,可以跟nginx完美的结合发挥lua和nginx的优点;解决了SSR产品AB测试的短板,和灰度发布技术的空白;可以根据用户IP定制灰度名单,可以有效的控制灰度发布。

【技术实现步骤摘要】

本专利技术涉及软件开发测试SSR灰度发布
,具体涉及一种基于nginx、memcache、lua实现SSR灰度发布的方法。
技术介绍
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。按照wikipedia中对A/B测试的定义,A/B测试又叫:A/B/N Testing、Multivariate Testing,因此本质上灰度测试可以算作A/B测试的一种特例。浪潮操作系统安全增强系统(简称:SSR),是浪潮具有自主知识产权的\操作系统安全增强系统\,通过对文件、目录、进程、注册表和服务的强制访问控制,有效的制约和分散了原有系统管理员的权限。在开发中灰度发布是一种AB测试的重要技术和手段,目前SSR系统缺少这种能力,如果想要公测SSR2.0,只能重新部署SSR2.0的一套产品,并强制用户使用SSR2.0,或者关闭SSR1.0系统使迫使用户使用SSR2.0系统,这都是一种粗暴的方法并且造成极差的用户体验。在现代软件开发中是不可接受的。
技术实现思路
本专利技术要解决的技术问题是:本专利技术针对以上问题,提供一种实现SSR灰度发布的方法,在黑白之间,能够平滑过渡的一种发布方式,类似于AB测试,让一部分用户继续使用SSR1.0系统,一部分用户开始使用SSR2.0系统,如果用户对SSR2.0系统没有反对意见,那么扩大范围,把所有用户迁移到SSR2.0系统上来,灰度发布可以保证整个系统的稳定性,在初始灰度的时候就可以发现调整问题。。本专利技术所采用的技术方案为:一种实现SSR灰度发布的方法,所述方法基于nginx、memcache、lua,依赖nginx的高并发处理能力和memcache的hash缓存,使用lua脚本进行分流控制,根据用户的IP来进行分流,将不同用户分流到不同的系统上面实现灰度发布,让一部分用户继续使用SSR1.0系统,一部分用户开始使用SSR2.0系统,如果用户对SSR2.0系统没有反对意见,那么扩大范围,把所有用户迁移到SSR2.0系统上来,保证了系统的高响应能力和部署的简单可靠。所述方法实现步骤如下:1)制定灰度名单,包含能够访问SSR2.0系统的用户IP地址,具体格式如下:100.2.3.3;100.2.3.4;100.2.2.5(IP地址有具体的生产环境决定);2)安装搭建memcache,将第一步中的灰度名单刷新到memcache缓存;3)安装搭建nginx服务器,定制lua脚本,lua接收分析用户请求,获取用户IP,查询memcache,如果该IP在灰度名单里,则将该用户路由到SSR2.0系统,如果该IP不在灰度名单之内,则将该用户路由到SSR1.0系统。所述memcache的客户端为memcache的API。本专利技术的有益效果为:本专利技术方法实现原理简单,依赖memcache和nginx,可以提高系统的高并发处理能,使用lua进行分流控制,可以跟nginx完美的结合发挥lua和nginx的优点;解决了SSR产品AB测试的短板,和灰度发布技术的空白;可以根据用户IP定制灰度名单,可以有效的控制灰度发布。附图说明图1为本专利技术方法流程图。具体实施方式下面结合说明书附图,根据具体实施方式对本专利技术进一步说明:实施例1:一种实现SSR灰度发布的方法,所述方法基于nginx、memcache、lua,依赖nginx的高并发处理能力和memcache的hash缓存,使用lua脚本进行分流控制,根据用户的IP来进行分流,将不同用户分流到不同的系统上面实现灰度发布,让一部分用户继续使用SSR1.0系统,一部分用户开始使用SSR2.0系统,如果用户对SSR2.0系统没有反对意见,那么扩大范围,把所有用户迁移到SSR2.0系统上来,保证了系统的高响应能力和部署的简单可靠。实施例2如图1所示,在实施例1的基础上,本实施例所述方法实现步骤如下:1)制定灰度名单,包含能够访问SSR2.0系统的用户IP地址,具体格式如下:100.2.3.3;100.2.3.4;100.2.2.5(IP地址有具体的生产环境决定);2)安装搭建memcache,将第一步中的灰度名单刷新到memcache缓存;3)安装搭建nginx服务器,定制lua脚本,lua接收分析用户请求,获取用户IP,查询memcache,如果该IP在灰度名单里,则将该用户路由到SSR2.0系统,如果该IP不在灰度名单之内,则将该用户路由到SSR1.0系统。实施例3在实施例2的基础上,本实施例所述memcache的客户端为memcache的API。实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。本文档来自技高网
...

【技术保护点】
一种实现SSR灰度发布的方法,其特征在于:所述方法基于nginx、memcache、lua,依赖nginx的高并发处理能力和memcache的hash缓存,使用lua脚本进行分流控制,根据用户的IP来进行分流,将不同用户分流到不同的系统上面实现灰度发布,让一部分用户继续使用SSR1.0系统,一部分用户开始使用SSR2.0系统,如果用户对SSR2.0系统没有反对意见,那么扩大范围,把所有用户迁移到SSR2.0系统上来。

【技术特征摘要】
1.一种实现SSR灰度发布的方法,其特征在于:所述方法基于nginx、memcache、lua,依赖nginx的高并发处理能力和memcache的hash缓存,使用lua脚本进行分流控制,根据用户的IP来进行分流,将不同用户分流到不同的系统上面实现灰度发布,让一部分用户继续使用SSR1.0系统,一部分用户开始使用SSR2.0系统,如果用户对SSR2.0系统没有反对意见,那么扩大范围,把所有用户迁移到SSR2.0系统上来。2.根据权利要求1所述的一种实现SSR灰度发布的方法,其特征在于,所述方法实...

【专利技术属性】
技术研发人员:刘增辉
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1