负载均衡解决方案讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

负载均衡实现方案

负载均衡是OA 系统多应用和集群部署必不可少的组件。作为多应用和集群部署的前端,负载均衡负责将用户的请求分发到后端各个OA应用上,并将OA 应用的响应返回给用户。

后端的OA 应用可以是独立的多应用部署,也可以是集群部署。两者间的区别在于集群部署可以实现会话复制,即用户的会话可以在集群中的应用间进行复制,其好处在于当用户当前访问的应用宕机时,由于用户会话会被复制到另一正常应用上,因此用户访问将不会受到影响,不需要重新登录OA 系统,而独立的多应用部署没有会话复制功能。

负载均衡为OA 系统提供了高性能、高可靠性和可扩展能力。

高性能,负载均衡可以将用户的访问请求均衡分配到各个OA 应用上,从而避免单一应用负载过高,影响此应用的访问体验;

高可靠性,负载均衡可以探测各个OA 应用的运行状况,自动将出现问题的OA 应用退出负载,避免用户继续访问此应用;

可扩展性,通过扩展负载均衡后的OA 应用数量,从而让OA 系统负担更多的用户并发访问。

实现负载均衡有多种方法,对于OA 系统常见的方法有以下三种:

一、基于JSP 页面的跳转

将一个OA 应用做为主应用,用户统一访问此应用,由此应用上的特定的

JSP 页面按轮询的方式将用户平均分配到其他各个应用上。

此方法的优点在于实现简单,且没有成本——不需要额外的设备和软件。

此方法的缺点在于不能提供高可靠性,当其中一个应用出现问题时,主应用仍然会将用户分配到此应用上,只有用户重新访问主应用,主应用才会将用户分配到另外一个应用上。

二、基于反向代理软件

此方法通过反向代理软件实现后端各个OA 应用间的负载均衡。

1、实现方式

用户通过反向代理软件提供的IP 地址和端口访问OA 系统。过程如下:

1)用户将访问请求发送到反向代理软件;

2)反向代理软件根据请求中的特定标识(客户端ip 地址或cookie 标记)将用户请求转发给特定的后端OA 应用——由于OA 系统是基于用户

的,在用户访问过程中始终保持用户会话,因此需要反向代理软件具有

会话保持能力——始终将特定用户的请求路由到后端的同一个OA 应

用;

3)后端应用将响应返回给反向代理软件;

4)反向代理软件将响应转发给用户。

2、方案优势

2.1、功能较完备

反向代理软件可以实现硬件负载均衡的大多数功能,如基于轮询的负载均衡方案、后端服务健康监控、基于IP HASH 或COOKIE INSERT 的会话保持策略等。

2.2、成本较低

在用户并发和稳定性要求不高的环境下,反向代理软件可以实现硬件负载均衡的大多数功能,而投入成本大大低于硬件负载均衡设备。其只需要投资一台代理服务器,配置仅需要8 CPU,8GB 内存即可,而现在流行的反向代理软件多是免费的。

3、方案缺点

3.1、性能和可靠性不高

反向代理软件的可靠性依赖于其运行的服务器和操作系统的可靠性。一般来说,代理服务器选用X86 架构的服务器,操作系统为LINUX,其可靠性要低于采用专用硬件和内嵌系统的硬件负载均衡设备。

相对于硬件负载均衡设备,反向代理软件所运行的服务器和操作系统没有针对其进行专门的优化,使其没有办法充分利用所有的硬件和系统资源,因此在大并发环境会存在性能瓶颈。

3.2、日常维护繁琐

相对于硬件负载均衡设备,绝大多数反向代理软件不包含或仅包含简单的管理控制台和运行日志。在日常维护中,管理员不能直观的观察到反向代理软件的运行状态,代理软件的所有配置修改只能通过修改配置文件实现,并需要重启代理软件才可以生效。

3.3、有限的健康检查

反向代理软件只能通过检查后端应用的TCP 端口来判断应用是否正常运行。但是,OA 应用在运行过程中常常会遇到TCP 端口可访问,页面无法打开或打开出错的情况。在这种情况下,反向代理软件仍然会将用户请求路由到出现问题的应用上,从而导致用户访问出错。

三、采用负载均衡硬件设备

此方法通过硬件负载均衡设备来实现多个OA 应用之间的负载均衡。

1、实现方式

F5 BIG/IP利用定义在其上面的虚拟IP地址(VIP)来为用户的一个或多个应用提供服务。因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。F5 BIG/IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,F5 BIG/IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。

下图描述了一个负载平衡发生的流程:

1). 客户发出服务请求到VIP

2). F5 BIG/IP接收到请求,将数据包中目的IP地址改为选中的后台服务器IP地址,然后将数据包发出到后台选定的应用

3). 后台服务器收到后,将应答包按照其路由发回到F5 BIG/IP

4). F5 BIG/IP收到应答包后将其中的源地址改回成VIP的地址,发回客户端,由此就完成了一个标准的服务器负载平衡的流程。

对于所有应用,可以在F5 BIG/IP上配置Virtual Server实现负载均衡,同时F5 BIG/IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。

2、方案优势

2.1、避免“不平衡”现象

BIG-IP利用Virtual Server虚拟服务器(VS由IP地址和TCP/UDP应用的端口组成)来为用户的一个或多个目标服务器(称为Node:目标服务器的IP 地址和TCP/UDP应用的端口组成,它可以是私网地址)提供服务。因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。根据服务类型不同分别定义服务器群组,可以根据不同服务端口将流量导向到相应的服务器。BIG-IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。如果能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡”现象的发生。

相关文档
最新文档