负载均衡解决方案讲解.docx
《负载均衡解决方案讲解.docx》由会员分享,可在线阅读,更多相关《负载均衡解决方案讲解.docx(13页珍藏版)》请在冰豆网上搜索。
![负载均衡解决方案讲解.docx](https://file1.bdocx.com/fileroot1/2023-6/29/d8ad5e51-29e9-43f0-b207-ccbd572ff86f/d8ad5e51-29e9-43f0-b207-ccbd572ff86f1.gif)
负载均衡解决方案讲解
负载均衡实现方案
负载均衡是OA系统多应用和集群部署必不可少的组件。
作为多应用和集群部署的前端,负载均衡负责将用户的请求分发到后端各个OA应用上,并将OA应用的响应返回给用户。
后端的OA应用可以是独立的多应用部署,也可以是集群部署。
两者间的区别在于集群部署可以实现会话复制,即用户的会话可以在集群中的应用间进行复制,其好处在于当用户当前访问的应用宕机时,由于用户会话会被复制到另一正常应用上,因此用户访问将不会受到影响,不需要重新登录OA系统,而独立的多应用部署没有会话复制功能。
负载均衡为OA系统提供了高性能、高可靠性和可扩展能力。
高性能,负载均衡可以将用户的访问请求均衡分配到各个OA应用上,从而避免单一应用负载过高,影响此应用的访问体验;
高可靠性,负载均衡可以探测各个OA应用的运行状况,自动将出现问题的OA应用退出负载,避免用户继续访问此应用;
可扩展性,通过扩展负载均衡后的OA应用数量,从而让OA系统负担更多的用户并发访问。
实现负载均衡有多种方法,对于OA系统常见的方法有以下三种:
一、基于JSP页面的跳转
将一个OA应用做为主应用,用户统一访问此应用,由此应用上的特定的
JSP页面按轮询的方式将用户平均分配到其他各个应用上。
此方法的优点在于实现简单,且没有成本一一不需要额外的设备和软件。
此方法的缺点在于不能提供高可靠性,当其中一个应用出现问题时,主应用仍然会将用户分配到此应用上,只有用户重新访问主应用,主应用才会将用户分配到另外一个应用上。
二、基于反向代理软件
此方法通过反向代理软件实现后端各个0A应用间的负载均衡。
0A应用3
1、实现方式
用户通过反向代理软件提供的IP地址和端口访问0A系统。
过程如下:
1)用户将访问请求发送到反向代理软件;
2)反向代理软件根据请求中的特定标识(客户端ip地址或cookie标记)将用户请求转发给特定的后端OA应用——由于OA系统是基于用户的,在用户访问过程中始终保持用户会话,因此需要反向代理软件具有会话保持能力——始终将特定用户的请求路由到后端的同一个OA应用;
3)后端应用将响应返回给反向代理软件;
4)反向代理软件将响应转发给用户。
2、方案优势
2.1、功能较完备
反向代理软件可以实现硬件负载均衡的大多数功能,如基于轮询的负载均衡方案、后端服务健康监控、基于IPHASH或COOKIEINSERT的会话保持策略等。
2.2、成本较低在用户并发和稳定性要求不高的环境下,反向代理软件可以实现硬件负载均衡的大多数功能,而投入成本大大低于硬件负载均衡设备。
其只需要投资一台代理服务器,配置仅需要8CPU,8GB内存即可,而现在流行的反向代理软件多是免费的。
3、方案缺点
3.1、性能和可靠性不高
反向代理软件的可靠性依赖于其运行的服务器和操作系统的可靠性。
一般来说,代理服务器选用X86架构的服务器,操作系统为LINUX,其可靠性要低于采用专用硬件和内嵌系统的硬件负载均衡设备。
相对于硬件负载均衡设备,反向代理软件所运行的服务器和操作系统没有针对其进行专门的优化,使其没有办法充分利用所有的硬件和系统资源,因此在大并发环境会存在性能瓶颈。
3.2、日常维护繁琐
相对于硬件负载均衡设备,绝大多数反向代理软件不包含或仅包含简单的管理控制台和运行日志。
在日常维护中,管理员不能直观的观察到反向代理软件的运行状态,代理软件的所有配置修改只能通过修改配置文件实现,并需要重启代理软件才可以生效。
3.3、有限的健康检查
反向代理软件只能通过检查后端应用的TCP端口来判断应用是否正常运行。
但是,OA应用在运行过程中常常会遇到TCP端口可访问,页面无法打开或打开出错的情况。
在这种情况下,反向代理软件仍然会将用户请求路由到出现问题的应用上,从而导致用户访问出错。
三、采用负载均衡硬件设备
此方法通过硬件负载均衡设备来实现多个OA应用之间的负载均衡。
1、实现方式
F5BIG/IP利用定义在其上面的虚拟IP地址(VIP)来为用户的一个或多个应用提供服务。
因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。
F5BIG/IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,F5BIG/IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。
下图描述了一个负载平衡发生的流程:
孰£-20717117204003
17S0
BIG-IPtranElatesPesttoNed#ba^edonLoadBalancing
SJJC-207.17,117-20^003
207.17.117.20
21*,54.94d7:
80
1).客户发出服务请求到VIP
2).F5BIG/IP接收到请求,将数据包中目的IP地址改为选中的后台服务器IP地址,然后将数据包发出到后台选定的应用
3).后台服务器收到后,将应答包按照其路由发回到F5BIG/IP
4).F5BIG/IP收到应答包后将其中的源地址改回成VIP的地址,发回客户端,由此就完成了一个标准的服务器负载平衡的流程。
对于所有应用,可以在F5BIG/IP上配置VirtualServer实现负载均衡,同时F5BIG/IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。
2、方案优势
2.1、避免“不平衡”现象
BIG-IP利用VirtualServer虚拟服务器(VS由IP地址和TCP/UDP应用的端口组成)来为用户的一个或多个目标服务器(称为Node:
目标服务器的IP地址和TCP/UDP应用的端口组成,它可以是私网地址)提供服务。
因此,它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。
根据服务类型不同分别定义服务器群组,可以根据不同服务端口将流量导向到相应的服务器。
BIG-IP连续地对目标服务器进行L4到L7合理性检查,当用户通过VIP请求目标服务器服务时,BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。
如果能够充分利用所有的服务器资源,将所有流量均衡的分配到各个服务器,我们就可以有效地避免“不平衡”现象的发生。
22、服务器的健康监控和检查
Clients
Router
BIG-IP
Servers
服务器(Node)-Ping(ICMP)
BIGIP可以定期的通过ICMP包对后台服务器的IP地址进行检测,如果在设定的时间内能收到该地址的ICMP的回应,则认为该服务器能提供服务
服务(Port)-Connect
BIGIP可以定期的通过TCP包对后台服务器的服务端口进行检测,如果在设定的时间内能收到该服务器端口的回应,贝U认为该服务器能提供服务
扩展内容查证(ECV:
ExtendedContentVerification)-ECV
BIG/IP可以
ECV是一种非常复杂的服务检查,主要用于确认应用程序能否对请求返回对应的数据。
如果一个应用对该服务检查作出响应并返回对应的数据,则BIG/IP控制器将该服务器标识为工作良好。
如果服务器不能返回相应的数据,则将该服务器标识为宕机。
宕机一旦修复,BIG/IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。
该功能使
将保护延伸到后端应用如Web内容及数据库。
BIG/ip的ECV功能允许您向
Web服务器、防火墙、缓存服务器、代理服务器和其它透明设备发送查询,然后检查返回的响应。
这将有助于确认您为客户提供的内容正是其所需要的。
扩展应用查证(EAV:
ExtendedApplicationVerification)
EAV是另一种服务检查,用于确认运行在某个服务器上的应用能否对客户请求作出响应。
为完成这种检查,BIG/IP控制器使用一个被称作外部服务检查者的客户程序,该程序为BIG/IP提供完全客户化的服务检查功能,但它位于BIG/IP控制器的外部。
例如,该外部服务检查者可以查证一个Internet或Intranet上的从后台数据库中取出数据并在HTML网页上显示的应用能否正常工作。
EAV是BIG/IP提供的非常独特的功能,它提供管理者将BIG/IP客户化后访问各种各样应用的能力,该功能使BIG/IP在提供标准的可用性查证之外能获得服务器、应用及内容可用性等最重要的反馈。
该功能对于电子商务和其它应用至关重要,它用于从客户的角度测试您的站点。
例如,您可以模拟客户完成交易所需的所有步骤-连接到站点、从目录中选择项目以及验证交易使用的信用卡。
一旦BIG/ip掌握了该"可用性"信息,即可利用负载平衡使资源达到最高的可用性。
BIG/ip已经为测试Internet服务的健康情况和状态,预定义的扩展应用验证(EAV),它有二种用户界面:
浏览器和CLI配置。
BIG/IP预定义的应用检查:
FTP、NNTP、SMTP、POP3和MSSQL。
2.3、UIE+iRuels
BIGIP利用UlE+iRules技术,可以将TCP/UDP数据包打开,并搜索其中
的特征数据,之后根据搜索到的特征数据作相应的规则处理。
因此可以根据用户访问内容的不同将流量导向到相应的服务器,实现7层的负载均衡。
例如:
根据用户访问请求的URL将流量导向到相应的服务器。
甚于会话的控制系统
ContinuingSessions
CantfnuingSessions
RGtumingSessions
SelectiveTrsnsformBtion
Authori^lon
i.e.PersistenceviaOutboundData(WebLogic&URLrewrite
TMDecision环亡诃和讥|和血|和阳厂]・廿飞5一皿匸厂,邛?
蚯[:
网
BIG-IP提供了一套有针对性的方法来减少服务器压力,降低互联网延迟和
客户机连接瓶颈对其应用访问性能所造成的影响。
通过综合采用多种应用优化手段以后,应用访问的性能可以得到显著提高。
与此同时,由于服务器性能的提高,还可以达到减少服务器数量,减少带宽占用从而节省投资的目的。
2.4、连接优化
BIGIP通过Oneconnect技术,将所有客户端的TCP连接转移至BIGIP进
行处理;而BIGIP与服务器之间仅建立少量的、持续的TCP连接。
使Web服务器从处理大量的并发TCP请求和TCP连接建立/卸载的负担中解脱出来,同时当BIGIP收到用户请求后才发送到服务器,服务器可免于受到客户端和网络异常的影响。
BIGIP还会缓存所有服务器的响应数据包,服务器以LAN速度发送数据
到BIGIP,服务器不会受到慢速客户端连接的牵累。
服务器的大量CPU资源被
释放来提供数据,而不是管理连接。
BIGIP通过控制容量需求和访问分析优化了服务性能和带宽。
企业也因为增加了更多的计算资源,减少了出口带宽需求而降低服务器和带宽投资,并且减少服务响应延迟和运营成本。
2.5、HTTP压缩
BIG-IP提供业内最具扩展性,最智能也最灵活的压缩解决方案。
BIG-IP系
统通过从服务器中不对称卸载HTTP压缩,降低了服务器开销,并通过实现服
务器整合,将服务器总体拥有成本降低了高达65%oBIG-IP系统充分利用现有
浏览器解压缩能力,无需对客户机进行任何修改,亦无需下载任何可能带来入侵威胁的软件。
BIG-IP智能压缩采用已申请专利的方法来测量客户连接延迟,这使带宽使用率降低了60-80%,同时将用户响应时间提高了两倍以上。
BIG-IP
是业内首款为企业提供的可扩展式压缩解决方案,具有通过优化硬件及其自适应压缩卸载(AdaptiveCompressionOffload)压缩web流量的可选功能。
BIG-IP系统的智能压缩功能为企业提供了一种针对目标用户进行压缩的方式。
压缩流量不一定要以带宽利用率的降低为代价。
真正的挑战在于把握如何最有效的定位,从而使用户获得最大优势。
例如,由于拨号用户延迟较高,所以,对其进行压缩可使这部分用户获得最大优势。
而由于宽带用户的接收窗口尺寸较大,因此,他们因此获得的优势则微乎其微,这是因为,宽带用户现在需要等待更长的时间来接收数据,这将导致响应时间变慢,因此,压缩的优势被抵消。
BIG-IP采用已申请专利的技术来动态检测客户连接延迟。
BIG-IP系统能够监控TCPRTT(往返时间),以动态计算用户延迟,从而使BIG-IP能更专注于将流量压缩并传送给最需要它们的用户。
2.6、负载均衡和应用交换功能
BIGIP是一台对流量和内容进行管理分配的设备。
它提供12种灵活的算法将数据流有效地转发到它所连接的应用。
而面对用户,只是一台虚拟服务器。
用户此时只须记住一台服务器,即虚拟服务器。
但他们的数据流却被BIGIP灵活地均衡到所有的服务器。
这12种算法包括:
轮询(RoundRobin):
顺序循环将请求一次顺序循环地连接每个服务器。
当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
比率(Ratio):
给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。
当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
优先权(Priority):
给所有服务器分组,给每个组定义优先权,BIG/IP用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG/IP才将请求送给次优先级的服务器组。
这种方式,实际为用户提供一种热备份的方式。
最少的连接方式(LeastConnection):
传递新的连接给那些进行最少连接处理的服务器。
当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
最快模式(Fastest):
传递连接给那些响应最快的服务器。
当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
观察模式(Observed):
连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。
当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
预测模式(Predictive):
BIG/IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。
(被bigip进行检测)
动态性能分配(DynamicRatio-APM):
BIG/IP收集到的应用程序和应用服
务器的各项性能参数,动态调整流量分配。
动态服务器补充(DynamicServerAct.):
当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。
服务质量(QoS):
按不同的优先级对数据流进行分配。
服务类型(ToS):
按不同的服务类型(在TypeofField中标识)对数据流进行分配。
规则模式:
针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIG/IP利用这些规则对通过的数据流实施导向控制。
3、方案缺点
3.1、成本较高
硬件负载均衡设备的一次性投入成本较高,以F5BIG/IP为例价格在10〜
30万。
但是硬件负载均衡除了可以提供给0A系统使用,还可以提供给其他
业务和网站系统使用。
四、总结
通过以上分析我们不难看出三种方式各有优缺点,需要根据用户实际情况从系统可用性要求、建设成本、维护能力等多个方面综合考虑。
方式
JSP页面跳转
反向代理软件
负载均衡硬件
负载均衡算法
单一
单一
多种
健康检查
无
有
有
性能
不存在性能冋题
一般
很好
维护
简单
复杂
简单
其他功能
无
无
还提供加速、优化、
安全等多种服务。
成本
无
增加一台代理
服务器
一次性购买一台设
备
由于吉林大学的用户规模很大,我们建议采用硬件负载均衡设备实现负载均衡,如F5BIG/IP。
硬件负载均衡设备可以很好的满足大并发要求,而且可靠性高,并能提供内容缓冲、高速缓存、SSL加速、HTTP压缩、连接加速、安全认证等多项功能,如下图
SSdCfl[1vlr
農虫宴户门讥乜(Vj
督t!
R—rn压唏
诱孵襁:
F*x.i」「a二1:
akngi
Ccck4:
密
3^内容工密
訶睿鑑诂工川:
已「:
Spocina-Bjffenrg)
应用攻击过迪
通用鸭球性
?
誕山务[DoS}A**SYNFlwcW
闻壺苗洼St理
防丸毛一勺订蔚
F此网关、灿
立涪*(「ac*e:
Sanni&Tion)
广噪爲兀'£
应毘氐冼全[M
弓在帀:
;甫帝
序達砖:
V.-」之呂•二■«辟廿