文档介绍:负载均衡实现方案
负载均衡是 OA 系统多应用和集群部署必不可少的组件。作为多应用和集群部署的前端,负载均衡负责将用户的请求分发到后端各个OA应用上,并将OA 应用的响应返回给用户。
后端的 OA 应用可以是独立的多应用部署,也可以是集群部署。两者间的区别在于集群部署可以实现会话复制,即用户的会话可以在集群中的应用间进行复制,其好处在于当用户当前访问的应用宕机时,由于用户会话会被复制到另一正常应用上,因此用户访问将不会受到影响,不需要重新登录 OA 系统,而独立的多应用部署没有会话复制功能。
负载均衡为 OA 系统提供了高性能、高可靠性和可扩展能力。
高性能,负载均衡可以将用户的访问请求均衡分配到各个 OA 应用上,从而避免单一应用负载过高,影响此应用的访问体验;
高可靠性,负载均衡可以探测各个 OA 应用的运行状况,自动将出现问题的 OA 应用退出负载,避免用户继续访问此应用;
可扩展性,通过扩展负载均衡后的 OA 应用数量,从而让 OA 系统负担更多的用户并发访问。
实现负载均衡有多种方法,对于 OA 系统常见的方法有以下三种:
ﻫ一、基于 JSP 页面的跳转
将一个 OA 应用做为主应用,用户统一访问此应用,由此应用上的特定的 JSP 页面按轮询的方式将用户平均分配到其他各个应用上。
此方法的优点在于实现简单,且没有成本——不需要额外的设备和软件。
此方法的缺点在于不能提供高可靠性,当其中一个应用出现问题时,主应用仍然会将用户分配到此应用上,只有用户重新访问主应用,主应用才会将用户分配到另外一个应用上。
ﻫ二、基于反向***
此方法通过反向***实现后端各个 OA 应用间的负载均衡.
1、实现方式
用户通过反向***提供的 IP 地址和端口访问 OA :
用户将访问请求发送到反向***;
反向***根据请求中的特定标识(客户端 ip 地址或cookie 标记)将用户请求转发给
特定的后端 OA 应用—-由于 OA 系统是基于用户的,在用户访问过程中始终保持用户会话,因此需要反向***具有会话保持能力——始终将特定用户的请求路由到后端的同一个 OA 应用;
后端应用将响应返回给反向***;
反向***将响应转发给用户。
2、方案优势
2。1、功能较完备
反向***可以实现硬件负载均衡的大多数功能,如基于轮询的负载均衡方案、后端服务健康监控、基于 IP HASH 或 COOKIE INSERT 的会话保持策略等。
2.2、成本较低
在用户并发和稳定性要求不高的环境下,反向***可以实现硬件负载均衡的大多数功能,而投入成本大大低于硬件负载均衡设备。其只需要投资一台***,配置仅需要 8 CPU,8GB 内存即可,而现在流行的反向***多是免费的。
3、方案缺点
、性能和可靠性不高
反向***,***选用 X86 架构的服务器,操作系统为 LINUX,其可靠性要低于
采用专用硬件和内嵌系统的硬件负载均衡设备.
相对于硬件负载均衡设备,反向***所运行的服务器和操作系统没有针对其进行专门的优化,使其没有办法充分利用所有的硬件和系统资源,因此在大并发环境会存在性能瓶颈。
、日常维护繁琐
相对于硬件负载均衡设备,绝大多数反向***不包含或仅包含简单的管理控制台和运行日志。在日常维护中,管理员不能直观的观察到反向***的运行状态,***的所有配置修改只能通过修改配置文件实现,并需要重启***才可以生效.
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接收到请求,将数据包中目