一种发布更新web应用程序时业务服务不间断的方法技术

技术编号:23604314 阅读:17 留言:0更新日期:2020-03-28 05:30
本发明专利技术提供一种发布更新web应用程序时业务服务不间断的方法,包括如下步骤:S1)主nginx收到业务请求后分配给后端其中一个tomcat;S2)若发给正在发版的tomcat,其防火墙将该业务请求转发到一个专门产生状态码502的nginx;S3)专门产生状态码502的nginx将状态码502原路返回给正在发版的tomcat的主机防火墙,防火墙再原路返回给主nginx;S4)主nginx收到状态码502后,将业务请求发给下一个tomcat,若下一个tomcat正在发版,则重复步骤S2)至S4),否则该tomcat正常处理业务请求;S5)正常处理业务请求的tomcat将处理结果反馈给主nginx,主nginx将处理结果反馈给客户端。本发明专利技术的优点为:简单高效,不影响业务请求。

A method of continuous business service when publishing and updating web application

【技术实现步骤摘要】
一种发布更新web应用程序时业务服务不间断的方法
本专利技术涉及web应用程序开发升级
,具体涉及一种发布更新web应用程序时业务服务不间断的方法。
技术介绍
随着互联网技术的更新换代,Web应用程序也在不断地开发升级。Web应用程序在升级时,客户的web访问还在持续不断,这就需要业务不间断的web发布更新。目前,web应用程序服务器使用较多的是tomcat,负载均衡用的是nginx。负载均衡是建立在网络结构之上、扩展网络设备和服务器的带宽、增加吞吐量、增加数据处理、提高灵活性的设备,负载均衡将业务请求分配给空闲的tomcat。现有技术中用来实现业务不间断的web发布更新的方法有两种:一种是更改nginx的后端配置,把要发版的tomcat暂时隔离,发版完成后再加上;另一种是发版时重启web应用程序,动态检测后端服务器的健康情况,检测到不健康的服务器就自动隔离。第一种现有技术需更改nginx的配置,更改后还需重启nginx;第二种现有技术一般采用轮循的方式检测,会有滞后性,影响一部分业务请求。
技术实现思路
本专利技术的目的是提供一种无需更改、重启nginx、无需检测、没有滞后性的发布更新web应用程序时业务服务不间断的方法。为了达到上述目的,本专利技术通过以下技术方案来实现:一种发布更新web应用程序时业务服务不间断的方法,包括如下步骤:S1)主nginx收到业务请求后分配给后端其中一个tomcat;S2)若发给正在发版的tomcat,其防火墙将该业务请求转发到一个专门产生状态码502的nginx;S3)专门产生状态码502的nginx将状态码502原路返回给正在发版的tomcat的主机防火墙,防火墙再原路返回给主nginx;S4)主nginx收到状态码502后,将业务请求发给下一个tomcat,若下一个tomcat正在发版,则重复步骤S2)至S4),否则该tomcat正常处理业务请求;S5)正常处理业务请求的tomcat将处理结果反馈给主nginx,主nginx将处理结果反馈给客户端。本专利技术与现有技术相比,具有以下优点:本专利技术一种发布更新web应用程序时业务服务不间断的方法,简单高效;不需要临时更改nginx的配置,也不需要重启nginx;部署简单,不需要额外增加类似健康检查的模块;动态转发,每一环节网络都畅通,不会出现超时等响应慢的情况,不影响业务请求。附图说明图1是本专利技术一种发布更新web应用程序时业务服务不间断的方法的过程处理示意图。具体实施方式下面结合附图,对本专利技术的实施例作进一步详细的描述。一种发布更新web应用程序时业务服务不间断的方法,包括如下步骤:S1)主nginx收到业务请求后分配给后端其中一个tomcat;S2)若发给正在发版的tomcat,其防火墙将该业务请求转发到一个专门产生状态码502的nginx;S3)专门产生状态码502的nginx将状态码502原路返回给正在发版的tomcat的主机防火墙,防火墙再原路返回给主nginx;S4)主nginx收到状态码502后,将业务请求发给下一个tomcat,若下一个tomcat正在发版,则重复步骤S2)至S4),否则该tomcat正常处理业务请求;S5)正常处理业务请求的tomcat将处理结果反馈给主nginx,主nginx将处理结果反馈给客户端。如图1所示,在发布更新web应用程序时,业务服务的具体流程如下:1、客户端将业务请求发给主nginx;2、主nginx将业务请求分配给后端的tomcat1;3、tomcat1正在发版,其防火墙将该业务请求转发给一个专门产生状态码502的nginx;4、专门产生状态码502的nginx接收业务请求后发送状态码502给tomcat1的主机防火墙;5、tomcat1的防火墙将状态码502发送给主nginx;6、主nginx接收状态码502后将业务请求分配给tomcat2;7、tomcat2没有发版,处理业务请求并将处理结果返回给主nginx;8、主nginx将处理结果反馈给客户端。以上所述仅是本专利技术优选实施方式,应当指出,对于本
的普通技术人员,在不脱离本专利技术构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本专利技术保护范围内。本文档来自技高网
...

【技术保护点】
1.一种发布更新web应用程序时业务服务不间断的方法,其特征在于包括如下步骤:/nS1)主nginx收到业务请求后分配给后端其中一个tomcat;/nS2)若发给正在发版的tomcat,其防火墙将该业务请求转发到一个专门产生状态码502的nginx;/nS3)专门产生状态码502的nginx将状态码502原路返回给正在发版的tomcat的主机防火墙,防火墙再原路返回给主nginx;/nS4)主nginx收到状态码502后,将业务请求发给下一个tomcat,若下一个tomcat正在发版,则重复步骤S2)至S4),否则该tomcat正常处理业务请求;/nS5)正常处理业务请求的tomcat将处理结果反馈给主nginx,主nginx将处理结果反馈给客户端。/n

【技术特征摘要】
1.一种发布更新web应用程序时业务服务不间断的方法,其特征在于包括如下步骤:
S1)主nginx收到业务请求后分配给后端其中一个tomcat;
S2)若发给正在发版的tomcat,其防火墙将该业务请求转发到一个专门产生状态码502的nginx;
S3)专门产生状态码502的nginx将状态码502原路返回给正在发版的...

【专利技术属性】
技术研发人员:金新华赖少飞徐克强欧平均
申请(专利权)人:杭州衣科信息技术有限公司
类型:发明
国别省市:浙江;33

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

1