您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>传输网/接入网/交换网>

负载平衡,负载平衡是什么意思

2010年04月06日 16:06 www.elecfans.com 作者:佚名 用户评论(0

负载平衡,负载平衡是什么意思

负载平衡是为提高性能和克服现有设备中的缺陷而将某些负载分配到多个链路、服务器、处理器或其他设备的过程。负载平衡不但可以有效地解决单服务器的性能限制,而且可以实现故障的快速转移,保证服务的高可用性以及灵活的扩展性。服务器负载平衡是将客户机的请求分配到服务器组的过程。

另一种负载平衡类型应用在聚合通信链路中,在聚合通信链路中,网络通信量被分配到两个或更多的链路中,这些链路好像是具有高带宽(和冗余)的单一链路。

还有另一种负载平衡类型应用在多处理器系统中,其中正在进行处理的负载被分配到同一计算机中的多个处理器中,或被配置到多重处理集群中的一组计算机中。例如,可将一个单个复杂的任务分成可在不同处理器中同时被处理的块。  如上所述,本主题主要讨论服务器负载平衡,它是当考虑到大多数Web站点过载并且老式服务器配置无法处理负载这一现状时的一个热门话题。这就需要多个服务器,一些执行特定任务的服务器,这样服务器负载平衡器的工作是接收即将到来的通信量并将通信量发送到可用的服务器或最适合执行特定任务的服务器中。这些服务器由虚拟IP地址表示。为IP地址定义的通信量被负载平衡器拦截并被分配到服务器场或集群中的服务器中。

图L-6阐释了一个用于Web站点的典型的负载平衡解决方案。请求到达负载平衡设备并被分配到服务器阵列中的服务器中。除了分配负载之外,负载平衡还提供高可用性:如果某个服务器故障,则负载平衡器自动将请求发送到其他服务器中。另外,可以拆掉某个用于服务的服务器,而不影响用户服务,因为负载平衡器可将请求分配到其他仍在运行的服务器中。

 

负载平衡器可以是自行设计的网络设备、具有高级可编程功能性的交换机或者是运行在标准服务器平台(如Microsoft Windows 2000或UNIX环境)上的基于软件的应用程序。Microsoft NLB(网络负载平衡),也称为MLBS(Microsoft负载平衡服务器)工作在Microsoft Windows 2000集群环境中以均衡集群中节点之间的即将到来的IP通信量。与其他负载平衡服务类似,NLB为单位范围的TCP/IP服务,如Web、proxy、VPN、流媒体和其他服务提供了可伸缩性和高可用性。NLB 使用一种分布算法将负载均衡分布到多台主机上,从而提高了基于 IP 的任务关键型服务(例如 Web、虚拟专用网络、流媒体、终端服务、代理,等等)的可伸缩性和可用性。它同时可检测主机故障并自动将流量重新分配给操作主机,从而提供高可用性。

网络负载均衡的好处包括:伸缩能力、高度可用性、易于使用和可控性。

包含发送算法的典型的负载平衡设备如下所示:

• 将最新请求发送到最空闲的服务器。

• 用循环方式将通信量发送到每个服务器(有时将其称为“发牌”方法)。

• 根据服务器的处理能力为服务器分配负荷并将大多数请求发送到最重要的服务器。

• 发送基于第4层的信息,如IP的源地址和目标地址或端口号(应用程序类型)。

• 发送基于第7层的信息,如包含目录和文件信息的请求的URL。

• 发送基于Cookies的信息。

• 根据服务器处理请求的功能来发送请求。例如将数据库请求发送到数据库服务器,将Web请求发送到Web服务器。

image:bk071912fwh_1.jpg

• 根据持续对话来向服务器转发请求,也就是说 如果服务器已经在为会话提供服务,则会继续将 相关或相似的请求发送给该服务器。

注意来自单个客户机的多个请求可由多个服务器来处理。这样就提高了性能。例如,通常Web页包含很多对象,包括图片、文本和声音。集群中的—个服务器可能提供文本服务,而另一个可能提供图像和声音服务。对于查看Web页的个人来说,这些对象似乎是连接到单个Web服务器中。

为进行负载平衡而检查URL和其他“特定应用程序”的信息的设备称为第7层设备。URL提供了有关请求的内容的信息,包括目录名和文件名。这里还使用了Cookies并将在稍后对其进行讨论。

持续性是很重要的,因为它确保了客户机在跨越很多TCP连接的交易过程中始终使用同一服务器。例如,在某个电子商务购物站点,负载平衡器将确保客户机的请求持续送入同一服务器中,因为该服务器可以高速缓存客户机的购物车信息。持续性还将最优化高速缓存性能。例如URL中的信息(目录或文件名)可用于将请求发送到最近被高速缓存已请求的信息的服务器中。

Cookies作为一种识别用户的方式在负载平衡环境中也是很重要的。源IP地址作为用户标识符,其准确性并非始终可靠。代理环境(如美国在线)另一侧的用户在每次通过代理服务器进行连接时可能获得不同的IP地址。当用户首次连接到Web站点时,处理请求的服务器创建或修改一个带有会话信息的Cookie,然后将它返回给用户。此Cookie信息随后用于在会话期间维护持续性。

Cookies还可提供服务级信息。例如,Cookie可能指示用户是一个提供黄金服务的客户,因此该用户的请求将转到最高性能服务器。然而,Cookie处理是一个需要消耗大量处理器资源的过程。负载平衡器首先必须与客户端建立TCP连接,然后在Cookie到达时将其捕获,接着对此Cookie进行分析以找到所需的信息,最后确定相应的请求服务器。负载平衡器需要将客户端信息缓存起来,直到它确定此Cookie的特性为止。

高端第7层负载平衡器通常是具有快速交换结构和网络处理器(该处理器可处理繁忙Web站点的瞬时处理负载)的高性能设备。Alteon Web系统已设计了一系列可实现高级网络处理器技术和分布式处理体系结构的Web交换机。每个端口都有一个网络处理ASIC,用于将第2层数据分组引擎与两个RISC处理器组合成一个单个芯片。在8Mbit/s的交换机底板上最多可连接10个这样的网络处理器。每个网络处理器中的分组引擎通过硬件交换第2层分组,而网络处理器通过软件支持第3到第7层交换。从本质上而言,交换机是一个并行处理系统,其中有20个RISC网络处理器同时处理通信量(无需考虑会话通信量通过的物理端口)。它是一个由内存和处理器资源(可立刻处理来自任何端口的通信量)组成的虚拟矩阵。Alteon的700系列以l80Gbit/s的纵横制交换结构为核心,并包括其他功能(如QoS管理器)。它还包括第7层内容交换的硬件处理协助,该功能对于维护所有端口的吉比特速率的线路速度是必不可少的。

目前,特别是在高可用性和负载均衡方面,有许多先进的工具可以利用由应用返回给最终用户的第七层信息。这类工具使用户可以容易地确认站点内容的响应性和正确性,或从客户的角度来试测你的站点,看看是否存在正确的应用和内容。用户不仅能验证是否在发送正确的内容,而且还能打开网络上传送的数据包(不用考虑IP地址或端口),并根据包中的信息做出负载均衡决定。第七层交换可以实现有效的数据流优化和智能负载均衡。

F5 Networks是负载平衡和各种其他优化Web站点设计(包括内容发布)产品中的主导产品之一。Extreme Networks将F5Networks的服务器负载平衡源代码整合到它自身的线路速度交换设备中。F5 Networks的负载平衡和高可用性设备提供下列功能:

• 根据源、目标和通信量类型划分通信量的优先级并对其进行控制。

• 对服务器、设备和内容提供中心位置控制。

• 平衡多个IP协议和网络设备(包括防火墙、路由器、缓存服务器和多媒体服务器)。

• 管理服务器和应用程序故障,并将通信量引导至正常工作的服务器和应用程序。

• 提供持久性模式以无缝处理用户请求并维护站点和客户间的链接。

• 提供基于Cookie的持久性、源、服务器、SSL持久性、URL、IP、端口和HTTP头负载平衡。

Extreme Networks设计了一系列高端负载平衡设备,这些设备可提供一体化服务,并降低负载平衡的硬件要求。图L-7阐释了多设备硬件配置Extreme解决方案。在以前的图例中,在路由器和负载平衡器之间以及在负载平衡器和服务器之间提供分布式连接需要使用多个第2层交换机。在“以后”的方法中,Extreme Networks的线路速度交换机提供所有交换和负载平衡功能。

负载平衡不仅仅局限于单个地理Web站点。它在整个Internet上进行分布,使多个站点承载同一内容。例如,负载平衡器可将请求转发到在地理位置上距离发出请求的客户机较近的服务器。这种设置在站点发生故障时提供灾难恢复,同时将工作负载自动重定向到备份站点。该设置还支持内容发布。

早期的基于Internet的负载平衡技术使用DNS进行负载平衡。DNS负载平衡技术使用循环方法从同一域的IP地址列表中选择一个IP地址。DNS区域传输程序根据预先确定的负载平衡算法定期改变服务器节点的资源记录的顺序。但该方法时间的选择不符合当今的现时要求。此外,该方法还假设服务器池中所有主机有相同能力提供所有服务,而实际情况却并非如此。许多商业Internet负载平衡器为在DNS列表中选择Web站点实现了更为合理的选择算法。

RFC 2391 (Load Sharing Using IP Network Address Translation ,August1998)介绍了LSNAT,它对NAT(网络地址转换)进行了扩充,使其能够提供负载共享技术。RFC 3074(DHC Load Balancing Algorithm, February 2001)介绍了负载平衡算法,该算法使多个协同操作的服务器不交换初始配置以外的任何信息即可确定哪个服务器应为客户端提供服务。


 

非常好我支持^.^

(2) 100%

不好我反对

(0) 0%

( 发表人:admin )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!