推荐期刊

电子商务中的负载平衡算法实现与分析

时间:2015-12-21 00:07:30 所属分类:微电子 浏览量:

在电子商务发展迅速的今天,网络的运行状态,是电子商务能否顺利进行的有力保障,现有网络资源的利用率高低就一个重要问题,网络的负载平衡就是解决这个问题的方法之一,下面对几种常见的负载平衡方法,进行分析比较 一、静态均衡算法 静态的负载平衡是指当

 在电子商务发展迅速的今天,网络的运行状态,是电子商务能否顺利进行的有力保障,现有网络资源的利用率高低就一个重要问题,网络的负载平衡就是解决这个问题的方法之一,下面对几种常见的负载平衡方法,进行分析比较
  
  一、静态均衡算法
  
  静态的负载平衡是指当一个请求到来时,将按照预先约定的匹配规则将该请求指派到一个特定的真实服务器。静态负载平衡算法主要任务是决定如何选择下一个节点,然后将新的服务请求转发给它。现在,针对不同的网络服务需求和配置已经有相当多的研究和应用,比较普遍的算法是:轮询 (Round Robin),散列(Source Hashing)等等。一个好的静态负载均衡算法也并不是万能的,它一般只在某些特殊的应用环境下才能发挥最大效用,静态负载平衡也是实现动态负载平衡的基础
  轮询调度 (Round Robin Scheduling)算法就是以轮询的方式依次将请求调度不同的服务器,即每次调度执行i二(Q+l)mod n,选出第‘台服务器。这种算法的优点是简洁明确,无需记录当前连接的状态。
  散列法通过单向的不可逆的哈希 (Hash)函数将请求发往集群节点。目标地址散列调度 (Destination Hashing Scheduling)算法先根据请求的目标IP地址,作为散列键 (Hash Key)从静态的散列表找出对应的服务器,若该服务器可用并且未超载,则将请求发送到该服务器。源地址散列调度 (Source HashingScheduling)则是将请求的源IP地址作为散列键从静态分配的散列表找出对应的服务器。
  
  二、 动态均衡算法
  
  在实际的访问过程中,很有可能存在这样情况,即有些节点已经超负荷运行,而其他节点基本上处于空闲状态;或者有些节点的处理任务已经很繁忙,但还有很长的请求队列,同时又不断地收到新的请求。这些情况都会导致客户端长时间的等待,使集群的整体服务质量下降。因此,有必要采用一种机制,使得平衡器能够实时地了解各个节点的负载状况,并根据负载的变化做出相应调整。
  动态的负载平衡算法是根据系统当前的负载状况来调整任务划分。这类算法能及时、准确的把握各个节点的负载状况,并根据各个节点的资源使用状况来动态调整负载的分布。动态均衡算法将考虑每一个节点的实时负载和响应能力,不断调整任务分布的比例,避免有些节点超载时依然收到大量请求,从而提高集群的整体吞吐率。
  最小连接调度(Least-Connection Scheduling)算法是一种典型的动态调度算法,它通过记录服务器当前活跃的连接数来估计服务器的负载情况,该算法把新的连接请求分配到当前含有最少连接数的节点。平衡器记录集群内各个服务器已建立连接的数目,当一个请求被调度到某台服务器后,该服务器连接数加1;当连接超时或访问结束后,其连接数减1。通常这种算法针对TCP连接进行,但由于不同应用对系统资源的消耗可能差异很大,而连接数量无法反映出真实的应用负载,因此在大规模应用时,该算法在效果上要打折扣。为了减少这个不利的影响,可对每个节点设置最大的连接数上限。



  加权轮询调度 (Weighted Round-Robin Scheduling)算法用权值表示相应节点的处理性能。该算法根据权值的高低顺序并按照轮询的方式将任务请求分配到各节点。权值高的节点比权值低的节点处理更多的任务请求,相同权值的节点处理相同份额的请求。在IPVS (IP Virtual Server Software)调度器的内核中,开发人员对加权轮询调度算法进行了拓展和改进,在此基础上形成了基于动态反馈负载均衡机制。该策略能避免长事务的请求总被分配到某些固定的机器上,使集群内各服务器保持较好的利用率。
  
  三、 其他均衡算法
  
  由于全局状态的不确定性,实际上很难对负载均衡网络中的各种行为特征做出精确的数学建模,也就是说很难确切地给出下一个负载应该分配给哪一个服务器,才能使整个集群的负载趋于平衡。出于这种考虑,有人将模糊控制的理论应用到均衡算法中,采用模糊逻辑根据各个服务器的历史信息来估计其负载的高低。每台服务器都会将这些并不精确的信息送入一个逻辑推断引擎,引擎经过分析后会给出服务器的负载高低的排序,对于新到来的请求的派发就是基于这个排序的。对比随机策略 (Random Scheduling)和轮询策略( Round RobinScheduling),该系统取得了很好的实验结果。
  还有一种将力学模型应用到负载平衡算法中的新思路。通过模拟在斜面上具有一定质量的小球的下落过程,并对这个过程的物理意义进行分析,找到选择最优服务器的途径,也取得了令人满意的实验结果。
  综上所述,在电子商务和其他的商业IT活动中选择一种适宜负载平衡方式,已经成为服务质量能否得到保障关键问题,要根据实际网络情况进行选择。
  
  参考文献:
  [1]范国闯等:Web应用服务器自适应负载平衡
  [2]P.Enjeti etal.Analysis of a Static Power Converter Underunbalance A Novel Approach.IEEE Trans.on Industrial Electronics,1990
  [3]P.Enjeti,S.Kim.A New DC side Active Filter for InverterPower Supplies Compensates for Unbalanced And Nonlinear Loads.IEEE,1991

转载请注明来自:http://www.zazhifabiao.com/lunwen/dzxx/wdz/32917.html