软件灰度发布方法、代理服务器、配置中心和系统技术方案

技术编号:21685737 阅读:54 留言:0更新日期:2019-07-24 14:34
本发明专利技术公开了一种基于OpenResty的软件灰度发布方法、代理服务器、配置中心和系统,属于软件发布技术领域。所述方法包括:代理服务器接收用户请求,获取所述用户请求中包含的请求信息,其中,所述请求信息包括请求URL和请求方法;所述代理服务器根据所述请求信息,在本地预存的灰度规则表中确定目标灰度规则;如果在所述灰度规则表中存在目标灰度规则,则所述代理服务器根据所述目标灰度规则,将所述用户请求发送给对应的灰度服务器;如果在所述灰度规则表中没有目标灰度规则,则所述代理服务器将所述用户请求发送给常规服务器。本发明专利技术可以通过参数等更细粒度进行软件灰度发布。

Software Gray Level Publishing Method, Proxy Server, Configuration Center and System

【技术实现步骤摘要】
软件灰度发布方法、代理服务器、配置中心和系统
本专利技术涉及软件发布
,尤其涉及一种基于OpenResty的软件灰度发布方法、代理服务器、配置中心和系统。
技术介绍
在软件新版本发布的过程中,为了使用户能够从旧版本平滑过渡到新版本,通常可以采用灰度发布(又名金丝雀发布)。灰度发布可以在新版本刚发布的时候就发现及时问题并进行调整,从而保证系统的稳定。采用灰度发布软件时,代理服务器在接收到用户请求之后,将用户请求引流到新版本的灰度服务器或者旧版本的常规服务器。通常,代理服务器可以先将少量的用户请求导入灰度服务器,然后观察新版本的运行状态,收集相关数据,对新旧版本进行各种数据对比,当确认新版本运行良好后,再逐步将更多的用户请求导入灰度服务器,在此期间,还可以不断地调整灰度服务器与常规服务器的运行数量,以使得灰度服务器能够承受越来越大的流量压力,直到将所有的用户请求都切换到灰度服务器上,最后关闭剩下的常规服务器,完成灰度发布。如果在灰度发布过程中发现新版本有问题,可以立即将用户请求切回旧版本的常规服务器上,这样,就会将负面影响控制在最小范围内。在实现本专利技术的过程中,专利技术人发现现本文档来自技高网...

【技术保护点】
1.基于OpenResty的软件灰度发布方法,其特征在于,所述方法包括:代理服务器接收用户请求,获取所述用户请求中包含的请求信息,其中,所述请求信息包括请求URL和请求方法;所述代理服务器根据所述请求信息,在本地预存的灰度规则表中确定目标灰度规则;如果在所述灰度规则表中存在目标灰度规则,则所述代理服务器根据所述目标灰度规则,将所述用户请求发送给对应的灰度服务器;如果在所述灰度规则表中没有目标灰度规则,则所述代理服务器将所述用户请求发送给常规服务器。

【技术特征摘要】
1.基于OpenResty的软件灰度发布方法,其特征在于,所述方法包括:代理服务器接收用户请求,获取所述用户请求中包含的请求信息,其中,所述请求信息包括请求URL和请求方法;所述代理服务器根据所述请求信息,在本地预存的灰度规则表中确定目标灰度规则;如果在所述灰度规则表中存在目标灰度规则,则所述代理服务器根据所述目标灰度规则,将所述用户请求发送给对应的灰度服务器;如果在所述灰度规则表中没有目标灰度规则,则所述代理服务器将所述用户请求发送给常规服务器。2.根据权利要求1所述的方法,其特征在于,所述代理服务器根据所述请求信息,在本地预存的灰度规则表中确定目标灰度规则,包括:代理服务器根据所述用户请求包含的请求URL,在本地预存的灰度规则表中确定所述用户请求对应的灰度规则表;代理服务器根据所述用户请求包含的请求方法,在所述用户请求对应的灰度规则表中确定目标灰度规则。3.根据权利要求2所述的方法,其特征在于,所述代理服务器根据所述用户请求包含的请求方法,在所述用户请求对应的灰度规则表中确定目标灰度规则,包括:代理服务器逐一选取所述用户请求对应的灰度规则表中的灰度规则,确定所述灰度规则的灰度生效时间范围是否包含当前时刻;如果所述灰度生效时间范围包含当前时刻,则所述代理服务器确定所述灰度规则对应的灰度请求方法与所述用户请求包含的请求方法是否相同;如果所述灰度规则对应的灰度请求方法与所述用户请求包含的请求方法相同,则所述代理服务器将所述灰度规则作为所述目标灰度规则。4.根据权利要求3所述的方法,其特征在于,所述请求信息还包括接口名称和请求参数,在所述代理服务器确定所述灰度规则对应的灰度请求方法与所述用户请求包含的请求方法是否相同之后,所述方法还包括:如果所述灰度规则对应的灰度请求方法与所述用户请求包含的请求方法相同,则所述代理服务器确定所述灰度规则对应的适配接口名称与所述用户请求包含的接口名称是否相同;如果所述灰度规则对应的适配接口名称与所述用户请求包含的接口名称相同,则所述代理服务器比较所述灰度规则对应的灰度请求参数与所述用户请求包含的请求参数是否相同;如果所述灰度规则对应的灰度请求参数与所述用户请求包含的请求参数相同,则所述代理服务器将所述灰度规则作为所述目标灰度规则。5.根据权利要求1所述的方法,其特征在于,在所述代理服务器接收用户请求之前,所述方法还包括:代理服务器周期性从配置中心获取灰度规则,并根据所述灰度规则更新本地存储的灰度规则表,所述配置中心用于配置并存储灰度规则。6.基于OpenResty的软件灰度发布方法,其特征在于,所述方法包括:配置中心预先配置灰度规则,并将所述灰度规则存储在配置中心本地;当接收到代理服务器发来的灰度规则更新请求后,所述配置中心从本地存储的所有灰度规则中确定灰度状态为生效的灰度规则;所述配置中心从灰度状态为生效的灰度规则中确定灰度生效时间范围包含当前时刻的灰度规则;所述配置中心从灰度生效时间范围包含当前时刻的灰度规则中,确定处于灰度作用范围内...

【专利技术属性】
技术研发人员:林维镇陈影旺
申请(专利权)人:厦门网宿有限公司
类型:发明
国别省市:福建,35

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

1