一种基于Array反向代理模式实现负载均衡的系统及方法与流程

文档序号:17489139发布日期:2019-04-23 20:16阅读:753来源:国知局
一种基于Array反向代理模式实现负载均衡的系统及方法与流程

本发明涉及互联网领域,尤其涉及一种基于array反向代理模式实现负载均衡的系统及方法。



背景技术:

现有技术中,array负载均衡设备有三种转发模式:

1、reverseproxymode(反向代理模式),负载均衡接收到用户的请求后,以代理的方式转发给内部的服务器。因此,与后台服务器建连的源地址为apv的接口地址。反向代理模式下,无需对原有网络进行额外调整,同时结合tcp连接服用技术,对应用性能进行优化。

2、transparentmode(透明模式),arrayapv在转发用户请求时,透明地将客户端的连接定向到特定的服务器上,即用户的源ip地址对服务器是透明的,服务器可以知道哪个客户对其进行了访问。透明模式实现时,服务器可以记录下哪些ip地址的客户端曾经进行过访问。但这种方式实现时结构和路由设计必须保障服务器端对源地址来的响应必须经过apv,同时由于每个请求的源ip地址都不一样,因此无法利用连接池技术进行优化。

3、trianglemode(三角模式),该模式需要服务器配置loopback地址,该地址和负载均衡器上的vip地址一样。客户请求到array时,请求被抛给服务器,服务器处理后,直接返回给用户,不经过array了。

目前的互联网上web应用服务器应用性能差、不安全,因此有必要提供一种高性能的系统,实现互联网上web应用服务器的高效率应用。



技术实现要素:

本发明所要解决的技术问题是提供一种基于array反向代理模式实现负载均衡的系统及方法,能够降低实际的web应用服务器的负载,提高应用访问速度,同时避免了用户直接与web应用服务器通信带来的安全隐患。

本发明为解决上述技术问题而采用的技术方案是提供一种基于array反向代理模式实现负载均衡的系统,包括客户端、cache服务器、array负载均衡服务器以及多个web应用服务器,所述客户端和所述cache服务器连接,所述cache服务器和所述array负载均衡服务器连接,所述array负载均衡服务器和所述多个web应用服务器连接,所述客户端用于发送内容获取请求,所述array负载均衡服务器用于向所述多个web应用服务器获取连接数,判断所述多个web应用服务器的连接数,并向连接数相对较小的一个web应用服务器转发所述内容获取请求。

上述的基于array反向代理模式实现均衡负载的系统,其中,所述array负载均衡服务器对所述多个web应用服务器记录正在处理的连接数,当有新的内容获取请求时,将所述内容获取请求分配给所述多个web应用服务器中当前连接数最少的web应用服务器。

上述的基于array反向代理模式实现均衡负载的系统,其中,所述客户端用于向所述cache服务器发送内容获取请求,所述内容获取请求包括获取静态内容和/或动态内容,所述cache服务器向所述array负载均衡服务器转发所述动态内容获取请求,并缓存来自web应用服务器的静态内容,web应用服务器接收到请求后,将用户需要的动态内容和cache服务器缓存的静态内容相结合返回给客户端。

上述的基于array反向代理模式实现均衡负载的系统,其中,所述array负载均衡服务器对所述多个web应用服务器进行实时端口探测,使得数据流量自动绕过发生故障的web应用服务器。

上述的基于array反向代理模式实现均衡负载的系统,其中,所述array负载均衡服务器上设定的是虚拟服务,所述多个web应用服务器提供与所述虚拟服务相对应的真实服务。

本发明为解决上述技术问题而采用的技术方案是还提供一种基于array反向代理模式实现负载均衡的方法,包括以下步骤:将array负载均衡服务器预先与后台多个web应用服务器之间建立并保持连接;每个web应用服务器实时将连接数提交给array负载均衡服务器;在array负载均衡服务器的前端设置cache服务器,并由cache服务器缓存来自客户端web请求中的静态内容;所述array负载均衡服务器记录每个web应用服务器正在处理的连接数,当有新的内容获取请求时,将所述内容获取请求以代理的方式分配给所述多个web应用服务器中当前连接数最少的web应用服务器;web应用服务器接收到请求,将用户需要的动态内容和cache服务器缓存的静态内容相结合返回给客户端。

上述的基于array反向代理模式实现负载均衡的方法,其中,所述array负载均衡服务器通过对web应用服务器进行实时的端口探测,判断web应用服务器的tcp连接状态是否正常,并自动绕过故障服务器或不可用服务器。

本发明对比现有技术有如下的有益效果:本发明提供的基于array反向代理模式实现负载均衡的系统及方法,array负载均衡位于web应用服务器的前端,充当web应用服务器的内容缓存器,启用反向代理模式,可以降低实际的web应用服务器的负载,提高应用访问速度,同时避免了用户直接与web应用服务器通信带来的安全隐患。

附图说明

图1为本发明的基于array反向代理模式实现负载均衡的系统架构图;

图2为本发明的基于array反向代理模式实现负载均衡方法的流程图。

具体实施方式

在以下描述中,为了提供本发明的透彻理解,阐述了很多具体的细节。然而,本发明可以在没有这些具体的细节的情况下实践,这对本领域普通该技术人员来说将是显而易见的。因此,具体的细节阐述仅仅是示例性的,具体的细节可以由奔放的精神和范围而变化并且仍被认为是在本发明的精神和范围内。

图1为本发明的基于array反向代理模式实现负载均衡的系统架构图。

请参见图1,本发明提供的基于array反向代理模式实现负载均衡的系统,包括:客户端、cache服务器、array负载均衡服务器以及多个web应用服务器,所述客户端和所述cache服务器连接,所述cache服务器和所述array负载均衡服务器连接,所述array负载均衡服务器和所述多个web应用服务器连接,所述客户端用于发送内容获取请求,所述array负载均衡服务器用于向所述多个web应用服务器获取连接数,判断哪个web应用服务器的连接数最少,并向连接数相对较小或最小的一个web应用服务器转发所述内容获取请求。

本发明提供的基于array反向代理模式实现负载均衡的系统,其中,所述array负载均衡服务器对所述多个web应用服务器记录正在处理的连接数,当有新的内容获取请求时,将所述内容获取请求分配给所述多个web应用服务器中连接数最少的web应用服务器。所述内容获取请求包括获取静态内容和/或动态内容。

本发明提供的基于array反向代理模式实现负载均衡的系统,其中,所述客户端用于向所述cache服务器发送静态内容获取请求,所述cache服务器向所述客户端反馈其所存储的静态内容。所述客户端用于向所述cache服务器发送动态内容获取请求,所述cache服务器向所述array负载均衡服务器转发所述动态内容获取请求,所述array负载均衡服务器向所述cache服务器反馈其从所述web应用服务器获取的动态内容;所述cache服务器向所述客户端反馈所述静态内容和所述动态内容。

进一步地,所述array负载均衡服务器对所述多个web应用服务器进行实时端口探测,使得数据流量自动绕过发生故障的web应用服务器。

在具体实施中,所述array负载均衡服务器上设定的是虚拟服务,所述多个web应用服务器提供的是与所述虚拟服务相对应的真实服务。

图2为本发明的基于array反向代理模式实现负载均衡方法的流程图。

请参见图2,本发明提供的基于array反向代理模式实现负载均衡的方法,包括以下步骤:

步骤s201:将array负载均衡服务器预先与后台多个web应用服务器之间建立并保持连接;所述array负载均衡服务器通过对web应用服务器进行实时的端口探测,判断web应用服务器的tcp连接状态是否正常,并自动绕过故障服务器或不可用服务器;

步骤s202:每个web应用服务器实时将连接数提交给array负载均衡服务器;

步骤s203:在array负载均衡服务器的前端设置cache服务器,并由cache服务器缓存来自客户端web请求中的静态内容;

步骤s204:所述array负载均衡服务器记录每个web应用服务器正在处理的连接数,当有新的内容获取请求时,将所述内容获取请求以代理的方式分配给所述多个web应用服务器中当前连接数最少的web应用服务器;

步骤s205:web应用服务器接收到请求,将用户需要的动态内容和cache服务器缓存的静态内容相结合返回给客户端。

本发明对比现有技术有如下的有益效果:array负载均衡位于web应用服务器的前端,充当web应用服务器的内容缓存器,启用反向代理模式,可以降低实际的web应用服务器的负载,提高应用访问速度,同时避免了用户直接与web应用服务器通信带来的安全隐患。可以降低实际的web应用服务器的负载,提高应用访问速度,同时避免了用户直接与web应用服务器通信带来的安全隐患。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1