实战:动态网络负载平衡集群实践方法

214阅读 0评论2008-10-16 FoOAW0j
分类:

    负载平衡器在集群的各个服务节点中分配工作负载或网络流量。可以静态预先设置或根据当前的网络状态来决定负载分发到哪个特定的节点,节点在集群内部可以互相连接,但它们必须与平衡器直接或间接相连。

  本文主要讨论了网络负载平衡集群系统下,基本的平衡算法和动态负载平衡机制。在LVS的基础上配合轮询算法实现了集群的动态负反馈机制,给出了一个基本的动态平衡模型并加以分析。

    1、网络负载平衡介绍

  本质上讲,网络负载平衡是分布式作业调度系统的一种实现。平衡器作为网络请求分配的控制者,要根据集群节点的当前处理能力,采用集中或分布策略对网络服务请求进行调配,并且在每个服务请求的生命周期里监控各个节点的有效状态。一般的说,平衡器对请求的调度具备以下的特征:

  网络服务请求必须是可管理的

  请求的分配对用户是透明的

  最好能够提供异构系统的支持

  能够依据集群节点的资源情况进行动态分配和调整

  负载平衡器在集群的各个服务节点中分配工作负载或网络流量。可以静态预先设置或根据当前的网络状态来决定负载分发到哪个特定的节点,节点在集群内部可以互相连接,但它们必须与平衡器直接或间接相连。

  网络平衡器可以认为是网络层次上的作业调度系统,大多数网络负载平衡器能够在网络的相应层次上实现单一系统映像,整个集群能够体现为一个单一的IP地址被用户访问,而具体服务的节点对用户而言是透明的。这里,平衡器可静态或动态配置,用一种或多种算法决定哪个节点获得下一个网络服务请求。

   2、网络平衡原理

  在TCP/IP中,数据包含有必要的网络信息,因而在网络缓存或网络平衡的具体实现算法里,数据包的信息很重要。但由于数据包是面向分组的(IP)和面向连接的(TCP),且经常被分片,没有与应用有关的完整信息,特别是和连接会话相关的状态信息。因此必须从连接的角度看待数据包——从源地址的端口建立到目的地址端口的连接。

  平衡考虑的另一个要素就是节点的资源使用状态。由于负载平衡是这类系统的最终目的,那么及时、准确的把握节点负载状况,并根据各个节点当前的资源使用状态动态调整负载平衡的任务分布,是网络动态负载平衡集群系统考虑的另一关键问题。

  一般情况下,集群的服务节点可以提供诸如处理器负载,应用系统负载、活跃用户数、可用的网络缓存以及其他的资源信息。信息通过高效的消息机制传给平衡器,平衡器监视所有处理节点的状态,主动决定下个任务传给谁。平衡器可以是单个设备,也可以使一组平行或树状分布的设备。  

[1]   

【责编:Zenghui】

--------------------next---------------------

上一篇:思科与华为路由器拨号互连的案例分析
下一篇:Cisco集成多业务路由器的安全特性