热线:400-829-9580

当前位置:首页 > 解决方案 > F5应用负载均衡案例参考

          F5应用负载均衡解决方案



  1. 解决方案结构提出





 

2. 方案说明

a) 部署说明

方案建议在应用系统入口处部署F5 LTM负载均衡设备。

两台LTM采用Active/Standby接入方式,避免单点故障。两台LTM共享Floating IP,保证在进行毫秒级故障切换时不会影响正常的业务流量。将Server服务器的网关指向LTM设备的Floating IP,保证进出的流量经过LTM。根据公司的业务需求,F5利用Irules智能的判断TCP包的PAYLOAD部分,根据其中的协议字段来判断数据包应该分配到哪个服务器中。实现了服务器的负载均衡。

b) 方案优势

i. 服务器的健康监控和检查


服务器 (Node) - Ping (ICMP)

BIGIP可以定期的通过ICMP包对后台服务器的IP地址进行检测,如果在设定的时间内能收到该地址的ICMP的回应,则认为该服务器能提供服务

服务 (Port) - Connect

BIGIP可以定期的通过TCP包对后台服务器的服务端口进行检测,如果在设定的时间内能收到该服务器端口的回应,则认为该服务器能提供服务

扩展内容查证(ECV: Extended Content Verification)-ECV

ECV是一种非常复杂的服务检查,主要用于确认应用程序能否对请求返回对应的数据。如果一个应用对该服务检查作出响应并返回对应的数据,则BIG/IP控制器将该服务器标识为工作良好。如果服务器不能返回相应的数据,则将该服务器标识为宕机。宕机一旦修复,BIG/IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送。该功能使BIG/IP可以将保护延伸到后端应用如Web内容及数据库。BIG/ip的ECV功能允许您向Web服务器、防火墙、缓存服务器、代理服务器和其它透明设备发送查询,然后检查返回的响应。这将有助于确认您为客户提供的内容正是其所需要的。

扩展应用查证(EAV: Extended Application Verification)

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。

 

ii. UIE+iRuels

BIGIP利用UIE+iRules技术,可以将TCP/UDP数据包打开,并搜索其中的特征数据,之后根据搜索到的特征数据作相应的规则处理。因此可以根据用户访问内容的不同将流量导向到相应的服务器,实现7层的负载均衡。例如:根据用户访问请求的URL将流量导向到相应的服务器。


 

BIG-IP提供了一套有针对性的方法来减少服务器压力,降低互联网延迟和客户机连接瓶颈对其应用访问性能所造成的影响。通过综合采用多种应用优化手段以后,应用访问的性能可以得到显著提高。与此同时,由于服务器性能的提高,还可以达到减少服务器数量,减少带宽占用从而节省投资的目的。

iii. 连接优化

BIGIP通过Oneconnect技术,将所有客户端的TCP连接转移至BIGIP进行处理;而BIGIP与服务器之间仅建立少量的、持续的TCP连接。使Web服务器从处理大量的并发TCP请求和TCP连接建立/卸载的负担中解脱出来,同时当BIGIP收到用户请求后才发送到服务器,服务器可免于受到客户端和网络异常的影响。BIGIP还会缓存所有服务器的响应数据包,服务器以LAN速度发送数据到 BIGIP,服务器不会受到慢速客户端连接的牵累。服务器的大量CPU资源被释放来提供数据,而不是管理连接。


BIGIP通过控制容量需求和访问分析优化了服务性能和带宽。企业也因为增加了更多的计算资源,减少了出口带宽需求而降低服务器和带宽投资,并且减少服务响应延迟和运营成本。

iv. HTTP压缩

BIG-IP提供业内最具扩展性,最智能也最灵活的压缩解决方案。BIG-IP 系统通过从服务器中不对称卸载 HTTP 压缩,降低了服务器开销,并通过实现服务器整合,将服务器总体拥有成本降低了高达 65%。BIG-IP 系统充分利用现有浏览器解压缩能力,无需对客户机进行任何修改,亦无需下载任何可能带来入侵威胁的软件。BIG-IP 智能压缩采用已申请专利的方法来测量客户连接延迟,这使带宽使用率降低了 60-80%,同时将用户响应时间提高了两倍以上。BIG-IP 是业内首款为企业提供的可扩展式压缩解决方案,具有通过优化硬件及其自适应压缩卸载 (Adaptive Compression Offload) 压缩 web 流量的可选功能。

BIG-IP 系统的智能压缩功能为企业提供了一种针对目标用户进行压缩的方式。压缩流量不一定要以带宽利用率的降低为代价。真正的挑战在于把握如何最有效的定位,从而使用户获得最大优势。例如,由于拨号用户延迟较高,所以,对其进行压缩可使这部分用户获得最大优势。而由于宽带用户的接收窗口尺寸较大,因此,他们因此获得的优势则微乎其微,这是因为,宽带用户现在需要等待更长的时间来接收数据,这将导致响应时间变慢,因此,压缩的优势被抵消。BIG-IP 采用已申请专利的技术来动态检测客户连接延迟。BIG-IP 系统能够监控 TCP RTT (往返时间),以动态计算用户延迟,从而使 BIG-IP 能更专注于将流量压缩并传送给最需要它们的用户。

v. 负载均衡和应用交换功能

BIGIP是一台对流量和内容进行管理分配的设备。它提供12种灵活的算法将数据流有效地转发到它所连接的服务器群。而面对用户,只是一台虚拟服务器。用户此时只须记住一台服务器,即虚拟服务器。但他们的数据流却被BIGIP灵活地均衡到所有的服务器。这12种算法包括:

l 轮询(Round Robin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。

l 比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。

l 优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG/IP用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG/IP才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。

l 最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。

l 最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。

l 观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。

l 预测模式(Predictive):BIG/IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被bigip进行检测)

l 动态性能分配(Dynamic Ratio-APM):BIG/IP收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。

l 动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。

l 服务质量(QoS):按不同的优先级对数据流进行分配。

l 服务类型(ToS):按不同的服务类型(在Type of Field中标识)对数据流进行分配。

l 规则模式:针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIG/IP利用这些规则对通过的数据流实施导向控制。

vi. 功能扩展

F5强大的模块扩展功能,为用户的网络做出了3-5的解决方案。添加LinkController模块,实现多条ISP的负载。

与互联网络相关的关键业务都需要安排和配置多条ISP接入链路以保证网络服务的质量,消除单点故障,减少停机时间。多条ISP接入的方案并不是简单的多条不同的广域网络的路由问题,因为不同的ISP有不同自治域,所以必须考虑到两种情况下如何实现多条链路的负载均衡:

内部的应用系统和网络工作站在访问互联网络的服务和网站时如何能够在多条不同的链路中动态分配和负载均衡,这也被称为OUTBOUND流量的负载均衡。

互联网络的外部用户如何在外部访问内部的网站和应用系统时也能够动态的在多条链路上平衡分配,并在一条链路中断的时候能够智能地自动切换到另外一条链路到达服务器和应用系统,这也被称作为INBOUND流量的负载均衡。

F5 的LinkController可以智能的解决以上两个问题:

    对于OUTBOUND流量,LinkController接收到流量以后,可以智能的将OUTBOUND流量分配到不同的INTERNET接口,并做源地址的NAT,可以指定某一合法IP地址进行源地址的NAT,也可以用LinkController的接口地址自动映射,保证数据包返回时能够正确接收。

      对于INBOUND流量,LinkController分别绑定两个ISP 服务商的公网地址,解析来自两个ISP服务商的DNS解析请求。LinkController不仅可以根据服务器的健康状况和响应速度回应LDNS相应的IP地址,还可以通过两条链路分别与LDNS建立连接,根据RTT时间判断链路的好坏,并且综合以上两个参数回应LDNS相应的IP地址。