F5服务器负载均衡原理

标签: 技术荟萃 | 发表时间:2012-11-14 16:00 | 作者:黄言之
出处:http://blog.sina.com.cn/netreview

1. 服务器负载平衡市场需求

随着Internet的普及以及电子商务、电子政务的发展,越来越多的应用系统需要面对更高的访问量和数据量。同时,企业对在线系统的依赖也越来越高,大量的关键应用需要系统有足够的在线率及高效率。这些要求使得单一的网络服务设备已经不能满足这些需要,由此需要引入服务器的负载平衡,实现客户端同时访问多台同时工作的服务器,一则避免服务器的单点故障,再则提高在线系统的服务处理能力。从业界环境来说,如下的应用需求更是负载均衡发展的推动力:

业务系统 从Client-Server转向采用Browser-Server 系统结构,关键系统需要高可用性

电子商务 系统的高可用性和高可靠性 需要

IT 应用系统大集中的需要 (税务大集中,证券大集中,银行大集中)

数据中心降低成本,提高效率

负载均衡技术在现有网络结构之上提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。它有两方面的含义:首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间;其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。

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

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

clip_image002[4]

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

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

3. 后台服务器收到后,将应答包按照其路由发回到BIGIP

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

2. 负载平衡典型流程

通过VIP来截获合适的需要负载平衡的流量

服务器监控和健康检查,随时了解服务器群的可用性状态

负载均衡和应用交换功能,通过各种策略导向到合适的服务器

2..1 通过VIP来截获合适的需要负载平衡的流量

在BIGIP上通过设置VIP来截获需要进行负载平衡的流量,这个VIP地址可以是一个独立的主机地址和端口的组合(例如:202.101.112.115:80)也可以是一个网络地址和端口的组合(例如:202.101.112.0:80),当流量经过BIGIP的时候,凡是命中VIP的流量都将被截获并按照规则进行负载平衡。

2.2 服务器的健康监控和检查

服务器 (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。

2.3 负载均衡和应用交换功能,通过各种策略导向到合适的服务器

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

  • 轮询(Round Robin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
  • 比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
  • 优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG/IP用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG/IP才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。
  • 最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
  • 最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
  • 观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7层的故障,BIG/IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
  • 预测模式(Predictive):BIG/IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被bigip进行检测)
  • 动态性能分配(Dynamic Ratio-APM):BIG/IP收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。
  • 动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。
  • 服务质量(QoS):按不同的优先级对数据流进行分配。
  • 服务类型(ToS):按不同的服务类型(在Type of Field中标识)对数据流进行分配。
  • 规则模式:针对不同的数据流设置导向规则,用户可自行编辑流量分配规则,BIG/IP利用这些规则对通过的数据流实施导向控制。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [f5 服务器 负载均衡] 推荐:

F5服务器负载均衡原理

- - 互联网旁观者
1. 服务器负载平衡市场需求. 随着Internet的普及以及电子商务、电子政务的发展,越来越多的应用系统需要面对更高的访问量和数据量. 同时,企业对在线系统的依赖也越来越高,大量的关键应用需要系统有足够的在线率及高效率. 这些要求使得单一的网络服务设备已经不能满足这些需要,由此需要引入服务器的负载平衡,实现客户端同时访问多台同时工作的服务器,一则避免服务器的单点故障,再则提高在线系统的服务处理能力.

Linux下Apache+Tomcat搭建负载均衡服务器集群

- - 极客521 | 极客521
这篇文章主要讲解关于如何在Linux下搭建Apache+tomcat 负载均衡服务器集群的过程. 负载均衡集群配置(1):Tomcat的配置. 修改“ tomcat/conf/server.xml ”文件. 编辑server.xml文件,找到“ ”元素节点,在server.xml文件里面未注释掉的有两个 元素节点.

(负载均衡)Window 服务器下采用Apache2.2+JBoss7服务器集群

- - 开源软件 - ITeye博客
1.安装APCHE 2.2应用服务器 . 2.安装JBOSS 7.X. 找到APACHE安装目录. 修改 httpd.conf 文件,httpd是apache的主程序,基本对apache的配置都在这个文件里进行. a.将负载均衡需要使用的模块都打开(去掉#号即可),如下:. 继续往httpd.conf增加内容,首先增加 session sticky 设置.

nginx tomcat负载均衡,同一服务器下多域名转发

- - ITeye博客
用nginx进行同一个服务器下多域名的负载均衡配置. Nginx进行http负载均衡的模块是upstream. Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后面的名字最好是配置成为域名,因为upstream是进行http访问的,一般的解析没有问题,但是如果是ajax的解析就会通过访问upstream后面的名字来进行访问了,这里要注意.

F5评析

- jin - 弯曲评论
F5是ADN (application deliver network)的领导厂商,它在Gartner ADN魔力象限的位置如图. ADN是一个新名词,wiki上的定义可以参考. 它基本上就是一个是综合了负载均衡(load balance),广域网优化(wan optimization),应用安全(application security)等技术的产品,主要关注的,还是应用层的性能优化.

nginx负载均衡配置

- - 开心平淡对待每一天。热爱生活
  使用负载均衡的话,可以修改配置http节点如下:. #设定http服务器,利用它的反向代理功能提供负载均衡支持. #设定mime类型,类型由mime.type文件定义. #省略上文有的一些配置节点. #设定负载均衡的服务器列表. #weigth参数表示权值,权值越高被分配到的几率越大. server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口.

解析nginx负载均衡

- - 搜索研发部官方博客
摘要:对于一个大型网站来说,负载均衡是永恒的话题. 随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选. nginx作为webserver的后起之秀,其优秀的反向代理功能和灵活的负载均衡策略受到了业界广泛的关注.

Haproxy+KeepAlived 负载均衡

- - CSDN博客系统运维推荐文章
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现. LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. 还可以使用nginx来实现,不过nginx只工作在7层网络之上. 详细请参考 抚琴煮酒写的“ 软件级负载均衡器(LVS/HAProxy/Nginx)的特点简介和对比”这篇文章,简单很详细,很好.

lvs+keepalived 负载均衡

- - CSDN博客系统运维推荐文章
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡. LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器. 目前有三种IP负 载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh).

负载均衡技术

- - ITeye博客
 Internet的规模每一百天就会增长一倍,客户希望获得7天24小时的不间断可用性及较快的系统反应时间,而不愿屡次看到某个站点"Server Too Busy"及频繁的系统故障.   网络的各个核心部分随着业务量的提高、访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备 根本无法承担.