网络负载平衡分布式作业调度系统实现

  1.引言

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

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

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

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

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

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

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

  2.网络平衡原理

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

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

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

  3.基本的网络负载平衡算法

  平衡算法设计的好坏直接决定了集群在负载均衡上的表现,设计不好的算法,会导致集群的负载失衡。一般的平衡算法主要任务是决定如何选择下一个集群节点,然后将新的服务请求转发给它。有些简单平衡方法可以独立使用,有些必须和其它简单或高级方法组合使用。而一个好的负载均衡算法也并不是万能的,它一般只在某些特殊的应用环境下才能发挥最大效用。因此在考察负载均衡算法的同时,也要注意算法本身的适用面,并在采取集群部署的时候根据集群自身的特点进行综合考虑,把不同的算法和技术结合起来使用。

  3.1 轮转法:

  轮转算法是所有调度算法中最简单也最容易实现的一种方法。在一个任务队列里,队列的每个成员(节点)都具有相同的地位,轮转法简单的在这组成员中顺序轮转选择。在负载平衡环境中,均衡器将新的请求轮流发给节点队列中的下一节点,如此连续、周而复始,每个集群的节点都在相等的地位下被轮流选择。这个算法在DNS域名轮询中被广泛使用。

  轮转法的活动是可预知的,每个节点被选择的机会是1/N,因此很容易计算出节点的负载分布。轮转法典型的适用于集群中所有节点的处理能力和性能均相同的情况,在实际应用中,一般将它与其他简单方法联合使用时比较有效。

  3.2 散列法

  散列法也叫哈希法(HASH),通过单射不可逆的HASH函数,按照某种规则将网络请求发往集群节点。哈希法在其他几类平衡算法不是很有效时会显示出特别的威力。例如,在前面提到的UDP会话的情况下,由于轮转法和其他几类基于连接信息的算法,无法识别出会话的起止标记,会引起应用混乱。

  而采取基于数据包源地址的哈希映射可以在一定程度上解决这个问题:将具有相同源地址的数据包发给同一服务器节点,这使得基于高层会话的事务可以以适当的方式运行。相对称的是,基于目的地址的哈希调度算法可以用在Web Cache集群中,指向同一个目标站点的访问请求都被负载平衡器发送到同一个Cache服务节点上,以避免页面缺失而带来的更新Cache问题。

时间: 2024-10-25 23:28:42

网络负载平衡分布式作业调度系统实现的相关文章

Win2008 R2/2012 网络负载平衡NLB相关内容_win服务器

使用网络负载均衡技术可以实现一些应用程序的可用性和可伸缩性,常用的应用程序有:IIS.防火墙.VPN以及一些关键业务.每一个节点运行应用程序的一个副本.NLB在群集中的多个主机中分发传入的客户端请求.可以动态地添加主机,也可以将所有流量引导到指定的单个主机,这个主机就称为默认主主机.在一个群集中最多支持 32 台计算机. 当计算机意外出现故障或者脱机时,将断开与出现故障或脱机的服务器之间的活动连接.但是,如果您有意关闭主机,则可以在使计算机脱机之前,使用 drainstop 命令处理所有活动的连

新手入门:网络负载平衡技术介绍

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务. 网络负载平衡技术保证即使是在负载很重的情况下它们也能作出快速响应.网络负载平衡对外只须提供一个IP地址(或域名).如果网络负载平衡中的一台或几台服务器不可用时,服务不会中断. 网络负载平衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客

Win2003服务器网络负载平衡的配置方法[图文]_win服务器

负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助.通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求.均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题.这种群集技术可以用最少的投资获得接近于大型主机的性能. 一.网络负载平衡的优点 1.网络负载平衡允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多

Windows Server 2012网络负载平衡管理说明

在需求高峰期,http://www.aliyun.com/zixun/aggregation/17117.html">Web服务器,FTP服务器,代理服务器以及虚拟专用网络连接都很容易不堪重负,这会导致系统整体性能的下降和较差的用户体验.为了应对在高峰期下客户机/服务器的性能问题,在运行相同应用程序的情况下,网络负载平衡会通过一个虚拟的服务器集群来分配用户的请求流量. 提到负载均衡,相信很多人对此并不陌生,这项功能也集成在Windows Server 2012创建和管理虚拟集群中,而且此功

网络负载平衡 Web 服务器(转)

web|服务器|网络 为提高 Web 站点的可靠性,并增加站点容量,我们部署了四个网络负载平衡 (NLB) Web 服务器,这是 Windows 2000 操作系统中两项群集技术中的一种.作为 Windows NT Server 4.0 企业版的 Microsoft Windows NT 负载平衡服务 (WLBS) 的后续产品,NLB 在一个负载平衡群集中可支持多达 32 个节点,并使所有节点如同一个服务器那样进行工作. 下面我们详细讨论这方面的内容. NLB 在由多个提供 TCP/IP 服务的

windows2003的网络负载平衡服务(NLB)

一:NLB试验环境 按如图1所示搭建NLB实验环境,其中计算机Server是域控制器和DNS服务器,client和client2是成员服务器,域名为bianceng.cn.所有计算机网关IP地址为192.168.0.1,首选DNS服务器IP地址是192.168.0.2.在计算机server和client上安装第2块网卡,用于节点间连接.网络负载平衡(NLB)的IP地址是192.168.0.3. 二:NLB实验前的准备 · 在计算机Server(192.168.0.2)上创建一个Web站点,在客户

Web Farm与网络负载平衡概述及架构示例

Web Farm与网络负载平衡概述 将企业内部多台IIS Web服务器组成Web Farm 后,这些服务器将同时对用户来提供一个不间断的.可靠的网站服务器.当Web Farm 接收到不同用户的连接网站请求时,这些请求会被分散的送给Web Farm中不同Web服务器来处理,因此可以提高网页访问效率,若Web Farm之中有Web服务器因故无法对用户提供服务的话,此时会由其他仍然正常运行的服务器来继续对用户提供服务,因此Web Farm还具备容错功能. Web Farm的架构 一般Web Farm架

Windows Server 2003网络负载平衡技术的实现方法

在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来http://www.aliyun.com/zixun/aggregation/7432.html">解决问题. 那么,有没有一个办法或者技术来解决此类问题呢?使用Windows 2000或Windows Server 2003中的网络负载平衡群集就可以(本文将介绍Windows Server 2003中的网络负载平衡技术的实现方法). 一.网络负载平衡的优点 1.网络负载平衡允许你将传入的请求传播到最

【图解】Windows Server 2008R2 怎样配置网络负载平衡(NLB)

配置环境 VMware:(版本10.0.01) 主集群IP:192.168.220.102 VM1:192.168.220.103 VM2:192.168.220.104 说明:环境原因,采用双节点配置记录配置过程 安装 在VM1和VM2打开服务管理器 安装网络负载平衡 功能--->右键--->添加功能--->勾选网络负载平衡-->一路下一步直到完成   安装Web服务器 IIS 角色--->右键--->添加角色--->勾选 Web服务器 IIS--->一路