一种分布式应用热更新的方法技术

技术编号:20483922 阅读:39 留言:0更新日期:2019-03-02 18:35
本发明专利技术涉及一种分布式应用热更新的方法。本发明专利技术先修改注册中心,使注册中具有版本管理功能,以版本号区分服务列表;注册中心根据不同的版本号返回不同的服务实例列表;使用新的版本号部署新的版本的应用实例;如果资源不足以部署新的版本应用,则关闭旧版本的部分应用实例;切换服务网关的版本号;并监控旧版本的请求,等待所有旧版本应用请求完成,停止旧应用;观察新版本应用是否正常提供服务,如果是,则关闭旧版本应用、继续部署剩余新应用实例;如果否,则调用服务网关接口,切换版本号至旧的版本号进行回退,同时,观察新版本应用的请求,等请求完成,则关闭新版本的应用实例。本发明专利技术解决了分布式环境中升级应用时存在的中断服务、回退困难等问题。

【技术实现步骤摘要】
一种分布式应用热更新的方法
本专利技术涉及分布式应用
,特别是一种分布式应用热更新的方法。
技术介绍
在分布式web应用升级的方法一般有两种;一是停止分布式应用,然后更新应用,等服务应用更新后再启动应用对外提供服务。二是不停止整个应用集群的情况下一个个应用实例更新,包括整个应用实例更新;或者不停止引用更新单个文件。但是面对应用集群大、业务复杂、新旧版本功能冲突的情况下,现有的方案会有如下问题:一是需要停止服务,在应用更新的过程中,需要停止应用集群,此时应用集群无法对外提供服务,而且这个时间往往比较长。二是如果采取不停止应用集群,一个个实例进行停止更新,此时旧版本的应用实例还能够提供服务,但是如果新版本应用和旧版本应用逻辑存在冲突的情况下,服务会出现错误;轻则导致用户请求错误,重则影响整个业务系统逻辑、导致数据错误。这时候就需要停止服务应用进行更新。三是如果升级失败、新版本出现线上漏洞时,需要进行应用回退。应用回退的时候,为了不出现应用错误,则需要停止应用在进行回退。这样服务中断的时间将更长。为了保证分布式应用更新过程中不出现异常,能够提供正常服务,同时能够在升级失败时迅速稳定地本文档来自技高网...

【技术保护点】
1.一种分布式应用热更新的方法,其特征在于:所述的方法包括以下步骤:修改注册中心,使注册中具有版本管理功能,以版本号区分服务列表;注册中心根据不同的版本号返回不同的服务实例列表;使用新的版本号部署新的版本的应用实例;如果资源不足以部署新的版本应用,则关闭旧版本的部分应用实例;切换服务网关的版本号;并监控旧版本的请求,等待所有旧版本应用请求完成,停止旧应用;观察新版本应用是否正常提供服务,如果是,则关闭旧版本应用、继续部署剩余新应用实例;如果否,则调用服务网关接口,切换版本号至旧的版本号进行回退,同时,观察新版本应用的请求,等请求完成,则关闭新版本的应用实例。

【技术特征摘要】
1.一种分布式应用热更新的方法,其特征在于:所述的方法包括以下步骤:修改注册中心,使注册中具有版本管理功能,以版本号区分服务列表;注册中心根据不同的版本号返回不同的服务实例列表;使用新的版本号部署新的版本的应用实例;如果资源不足以部署新的版本应用,则关闭旧版本的部分应用实例;切换服务网关的版本号;并监控旧版本的请求,等待所有旧版本应用请求完成,停止旧应用;观察新版本应用是否正常提供服务,如果是,则关闭旧版本应用、继续部署剩余新应用实例;如果否,则调用服务网关接口,切换版本号至旧的版本号进行回退,同时,观察新版本应用的请求,等请求完成,则关闭新版本的应用实例。2.根据权利要求1所述的方法,其特征在于:所述的方法中,切换版本号至旧的版本号进行回退时,如果部署新的版本应用时关闭了部分旧版本应用实例,则重新把这些应用实例部署起来。3.根据权利要求1所述的方法...

【专利技术属性】
技术研发人员:姚文俊季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东,44

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

1