一种基于环形部署的反馈方法及装置制造方法及图纸

技术编号:37064710 阅读:15 留言:0更新日期:2023-03-29 19:42
本发明专利技术公开了一种基于环形部署的反馈方法及装置,涉及计算机技术领域。用于解决java程序在实际部署过程中因单个进程的方式运行,导致无法实现负载均衡和java程序使用单节点部署不能高可用的问题。响应于客户端发送的携带有请求的第一报文,从服务器集群包括的多个Docker容器IP地址选择与所述第一报文包括的第一源IP地址相匹配的第一Docker容器IP地址,将所述第一Docker容器IP地址作为第二目的IP地址,替换第一目的IP地址形成第二报文;将携带所述请求的所述第二报文发送至与所述第二目的IP地址对应的第一Docker容器,以使负载均衡器根据所述请求从所述第一Docker容器包括的多个JAVA程序选择与当前可用的第一JAVA程序运行所述请求,得到与所述请求对应的数据包。包。包。

【技术实现步骤摘要】
一种基于环形部署的反馈方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种基于环形部署的反馈方法及装置。

技术介绍

[0002]Java项目在部署的过程中主要有如下两种方式:一种方式将java项目通过工具打包为xxx.jar包,将打好的xxx.jar包上传到服务器上,通过命令java

jar xxx.jar启动项目,启动后的项目提供对外访问的服务;另一种方式将java项目通过工具打包为war包,在服务器上搭建一个tomcat服务,将生成的war包放置于tomcat的web apps目录下,启动tomcat程序后项目提供对外的访问服务。
[0003]上述两种方式部署存在以下问题:java项目都是以单个进程的方式运行的,因此全量的访问请求都会落到单进程上,单进程程序处理高并发程序时容易产生宕机情况;再者单进程在运行的过程中容易出现因程序异常导致进程异常而退出的情况;进一步地,单个进程在运行,即使再启动多个进程,也因没有多个进程管理的工具而无法进行多个进程之间的管理和分配。

技术实现思路

[0004]本专利技术实施例提供一种基于环形部署的反馈方法及装置,用于解决java程序在实际部署过程中因单个进程的方式运行,导致无法实现负载均衡和java程序使用单节点部署不能高可用的问题。
[0005]本专利技术实施例提供一种基于环形部署的反馈方法,应用于负载均衡服务器侧,包括:
[0006]响应于客户端发送的携带有请求的第一报文,在Nginx配置文件中根据规则匹配,从服务器集群包括的多个Docker容器IP地址选择与所述第一报文包括的第一源IP地址相匹配的第一Docker容器IP地址,将所述第一Docker容器IP地址作为第二目的IP地址,替换第一目的IP地址形成第二报文;
[0007]将携带所述请求的所述第二报文发送至与所述第二目的IP地址对应的第一Docker容器,以使负载均衡器根据所述请求从所述第一Docker容器包括的多个JAVA程序选择与当前可用的第一JAVA程序运行所述请求,得到与所述请求对应的数据包;以第一源IP地址替换所述第二目的IP地址作为第三目的IP地址,形成第三报文,向负载均衡器反馈携带所述数据包的所述第三报文;其中,多个所述JAVA程序按照不同的顺序部署在每个所述Docker容器内;
[0008]响应于所述服务器集群反馈的携带有所述数据包的所述第三报文,将所述第一目的IP地址替换第三源IP地址作为第四源IP地址,得到第四报文,向所述客户端反馈携带所述数据包的第四报文。
[0009]优选地,所述根据Nginx配置文件的匹配规则之前,还包括:
[0010]确定所述服务器集群的名称,在所述服务器集群中设置多个所述Docker容器并确
定与每个所述Docker容器对应的Docker容器IP地址;
[0011]在所述Nginx配置文件中添加每个所述Docker容器可访问的API地址,所述API地址与所述Docker容器IP地址相对应。
[0012]优选地,还包括:
[0013]在每个所述Docker容器内依次部署N个不同的所述JAVA程序,以使N个不同的所述JAVA程序在每个所述Docker容器内按照不同的顺序排列,N为正整数。
[0014]优选地,还包括:
[0015]在所述服务器集群内添加新建Docker容器,确定与所述新建Docker容器对应的新建Docker容器IP地址;
[0016]将运行于所述Docker容器内的N个不同的所述JAVA程序添加到所述新建Docker容器内,且位于所述新建Docker容器内的N个不同的所述JAVA程序的排列顺序与N个不同的所述JAVA程序在每个所述Docker容器内的排列顺序不同;
[0017]在述Nginx配置文件中添加所述新建Docker容器可访问的所述API地址,所述API地址与所述新建Docker容器IP地址相对应;
[0018]在监控平台添加新建Docker容器,以使所述监控平台对新建Docker容器的心跳进行监控。
[0019]本专利技术实施例提供一种基于环形部署的反馈方法,应用于服务器集群侧,包括:
[0020]响应于负载均衡服务器发送的携带有请求的第二报文,根据所述第二报文包括的第二目的IP地址确定可执行所述请求的第一Docker容器,从所述第一Docker容器包括的多个JAVA程序选择与当前可用的第一JAVA程序运行所述请求,得到与所述请求对应的数据包;其中,所述第二报文包括的所述第二目的IP地址为所述第一Docker容器IP地址,多个所述JAVA程序按照不同的顺序部署在不同的Docker容器内;
[0021]用所述第二报文中包括的第一源IP地址替换所述第二目的IP地址作为第三目的IP地址,形成第三报文;
[0022]将携带所述数据包的所述第三报文发送至负载均衡服务器,以使所述负载均衡服务器用第一目的IP地址替换第三源IP地址作为第四源IP地址,得到第四报文,向客户端反馈携带所述数据包的所述第四报文。
[0023]优选地,所述响应于负载均衡服务器发送的携带有请求的第二报文之前,还包括:
[0024]在服务器集群包括的多个Docker容器依次部署N个不同的JAVA程序,并且确定N个不同的JAVA程序在每个所述Docker容器内按照不同的顺序排列,N为正整数。
[0025]本专利技术实施例提供一种基于环形部署的反馈装置,包括:
[0026]第一响应单元,用于响应客户端发送的携带有请求的第一报文,在Nginx配置文件中根据规则匹配,从服务器集群包括的多个Docker容器IP地址选择与所述第一报文包括的第一源IP地址相匹配的第一Docker容器IP地址,将所述第一Docker容器IP地址作为第二目的IP地址,替换第一目的IP地址形成第二报文;
[0027]反馈单元,用于将携带所述请求的所述第二报文发送至与所述第二目的IP地址对应的第一Docker容器,以使负载均衡器根据所述请求从所述第一Docker容器包括的多个JAVA程序选择与当前可用的第一JAVA程序运行所述请求,得到与所述请求对应的数据包;以第一源IP地址替换所述第二目的IP地址作为第三目的IP地址,形成第三报文,向负载均
衡器反馈携带所述数据包的所述第三报文;其中,多个所述JAVA程序按照不同的顺序部署在每个所述Docker容器内;
[0028]第二响应单元,用于响应所述服务器集群反馈的携带有所述数据包的所述第三报文,将所述第一目的IP地址替换第三源IP地址作为第四源IP地址,得到第四报文,向所述客户端反馈携带所述数据包的第四报文。
[0029]本专利技术实施例提供一种基于环形部署的反馈装置,包括:
[0030]第一响应单元,用于响应负载均衡服务器发送的携带有请求的第二报文,根据所述第二报文包括的第二目的IP地址确定可执行所述请求的第一Docker容器,从所述第一Docker容器包括的多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于环形部署的反馈方法,其特征在于,应用于负载均衡服务器侧,包括:响应于客户端发送的携带有请求的第一报文,在Nginx配置文件中根据规则匹配,从服务器集群包括的多个Docker容器IP地址选择与所述第一报文包括的第一源IP地址相匹配的第一Docker容器IP地址,将所述第一Docker容器IP地址作为第二目的IP地址,替换第一目的IP地址形成第二报文;将携带所述请求的所述第二报文发送至与所述第二目的IP地址对应的第一Docker容器,以使服务器集群根据所述请求从所述第一Docker容器包括的多个JAVA程序选择与所述第二报文包括的端口号相匹配的第一JAVA程序运行所述请求,得到与所述请求对应的数据包;以第一源IP地址替换所述第二目的IP地址作为第三目的IP地址,形成第三报文,向负载均衡器反馈携带所述数据包的所述第三报文;其中,多个所述JAVA程序按照不同的顺序部署在每个所述Docker容器内;响应于所述服务器集群反馈的携带有所述数据包的所述第三报文,将所述第一目的IP地址替换第三源IP地址作为第四源IP地址,得到第四报文,向所述客户端反馈携带所述数据包的第四报文。2.如权利要求1所述的基于环形部署的反馈方法,其特征在于,所述根据Nginx配置文件的匹配规则之前,还包括:确定所述服务器集群的名称,在所述服务器集群中设置多个所述Docker容器并确定与每个所述Docker容器对应的Docker容器IP地址;在所述Nginx配置文件中添加每个所述Docker容器可访问的API地址,所述API地址与所述Docker容器IP地址相对应。3.如权利要求2所述的基于环形部署的反馈方法,其特征在于,还包括:在每个所述Docker容器内依次部署N个不同的所述JAVA程序,以使N个不同的所述JAVA程序在每个所述Docker容器内按照不同的顺序排列,N为正整数。4.如权利要求2所述的基于环形部署的反馈方法,其特征在于,还包括:在所述服务器集群内添加新建Docker容器,确定与所述新建Docker容器对应的新建Docker容器IP地址;将运行于所述Docker容器内的N个不同的所述JAVA程序添加到所述新建Docker容器内,且位于所述新建Docker容器内的N个不同的所述JAVA程序的排列顺序与N个不同的所述JAVA程序在每个所述Docker容器内的排列顺序不同;在所述Nginx配置文件中添加所述新建Docker容器可访问的所述API地址,所述API地址与所述新建Docker容器IP地址相对应;在监控平台添加新建Docker容器,以使所述监控平台对新建Docker容器的心跳进行监控。5.一种基于环形部署的反馈方法,其特征在于,应用于服务器集群侧,包括:响应于负载均衡服务器发送的携带有请求的第二报文,根据所述第二报文包括的第二目的IP地址确定可执行所述请求的第一Docker容器,从所述第一Docker容器包括的多个JAVA程序选择与所述第二报文包括的端口号相匹配的的第一JAVA程序运行所述请求,得到与所述请求对应的数据包;其中,所述第二报文包括的所述第二目的IP地址为所述第一Docker容器IP地址,多个所述JAVA程序按照不同的顺序部署在不同的Docker容器内;
用所述第二报文中包括的第一源IP地址替换所述第二目...

【专利技术属性】
技术研发人员:何鍇孙威郑玮
申请(专利权)人:西安四叶草信息技术有限公司
类型:发明
国别省市:

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

1