几种负载均衡算法

来源:互联网 发布:java executorservice 编辑:程序博客网 时间:2024/06/06 05:48
 摘 要:负载平衡,负载平衡即将到来之评估是多个操作单元上执行,如Web服务器,FTP服务器,企业关键应用服务器和其他关键任务服务器,从而共同完成工作任务。基于现有网络结构之负载均衡,它提供了一种廉价且有效之方式来扩展网络设备和服务器之带宽,增加吞吐量,提高网络数据处理能力,提高网络之灵活性和可用性。基于此计算机算法之负载均衡算法,旨在提高计算机之工作精度和效率。 

  关键词:负载平衡;负载均衡;算法 
  DOI:10.16640/j.cnki.37-1222/t.2016.03.165 
  1 静态负载之均衡算法 
  (1)轮询:请求连接到每一个服务器之顺序周期。当其中一个服务器2到7层故障时,BIG-IP把它从顺序循环之队列提出,不参加下届轮询,直到它回复正常。 
  (2)比率:对每个服务器配置一个加权值比例,按比例配置给每个服务器之用户请求。当其中一个服务器2到7层故障时,从服务器BIG-IP把它从队列中提出,用户不参与下一个请求直到它回复正常。 
  (3)优先权:全部之服务器进行分组,为每个组都给予优先级,按BIG-IP用户之请求,为最高之服务器组给予优先级(在同一组内,采用比率或轮询之算法,配置请求);当最高优先级之所有服务器失败,BIG-IP对服务器组之第2最高给予优先级。以此方式,为用户提供一个热备份之实际方法。 
  2 动态负载之均衡算法 
  (1)最少之连接方式:提供一个新之服务器连接到这些连接是最小之处理。当其中一个服务器2到7层故障时,从服务器BIG-IP把它从队列中提出,用户不参与下一个请求直到它回复正常。 
  (2)最快模式:链接到那些通过响应最快之服务器。当其中一个服务器2到7层故障时,从服务器BIG-IP把它从队列中提出,将用户不参与下一个请求直到它回复正常。
  (3)观察模式:连接数和响应时间选择最佳之平衡,这2个服务器之新请求为基础。当其中一个服务器2到7层故障时,从服务器BIG-IP把它从队列中提出,将用户不参与下一个请求直到它回复正常。 
  (4)预测模式:BIG-IP服务器使用收集电流之性能指标,通过对用户请求的预测和分析,选取一个服务器下一时间片以及性能最好之服务器。 
  (5)动态性能配置:BIG-IP应用程序配合应用程序服务器进行性能参数的收集,动态进行流量配置的调整。 
  (6)动态服务器补充:当主服务器领域因为故障导致数量减少的时候,实现动态化将备份服务器添加至于主服务器领域。 
  (7)服务质量:根据不同之优先级配置给数据流。 
  (8)种服务类型:根据不同之服务类型(在该领域中之类型)来配置数据流之负载平衡。 
  (9)规则模式:针对不同之数据流设置规则,用户可以。 
  负载均衡之应用程序对应本地交换,我们可以通过负载均衡算法之理解,结合实际之需求来使用适当之负载均衡算法,我们常用之是一般之连接数最少,最快之响应,或轮询,我们决定用该算法,主要是对实际之需求。 
  3 服务器负载均衡算法 
  包括轮询算法,最少连接算法,响应时间算法,散列算法,最少连接算法之错误,链路带宽算法等。还可配置不同之权重值来调整实际服务器(真正之服务器)来调整流量配置。如高性能之大型服务器,可以配置为一个较大之权重值,同时设置较小之权重值较低之性能之小服务器。为了避免超载导致服务器崩溃,可以指定最大限度的实际服务器,以避免服务器过载。可以指定任何服务器到另一个服务器或备份服务器的溢出,从而进一步确保应用程序的可用性。 
  非持续性的算法:不同之请求可被配置给一个实际之服务组不同之真实服务器。有圆罗宾算法,最少连接算法,响应速度算法。 
  轮循算法:依次将请求调度不同之服务器以轮询之方式,就是每次的调度都执行i = (i + 1) mod n次,并现状出第i台的服务器。算法之优点就是它的简洁性,因为它不需要记录现态中的全部连接之状态,故其归类为一种无状态的调度。 
  最少连接的算法: 每一次客户端请求之服务可以在服务器之时间有较大之差异,具有较长之工作时间,如果一个简单之圆罗宾或随机平衡算法,将每个服务器上之过程可能会产生非常大之差异,这样之结果将不能实现真正之负载平衡。最小数目之连接到内部之平衡算法在负载每个服务器有一个数据记录,记录之内容是连接之数量,目前正在处理之服务器,当一个新之服务连接请求,请求将配置给当前连接之服务器数量最少,使更现实之平衡,更平衡之负载。 
  响应速度的算法:说明:负载均衡设备向每个内部服务器发送一个探测请求(如ping),然后每个服务器响应时间最快之响应,以确定该服务器响应服务客户端请求之响应时间。举例:这样之平衡算法能更好地反映服务器之当前运行状态,但只有最快之响应时间是指负载平衡设备和服务器响应时间最快,而不是客户之间之响应时间最快之客户端和服务器之间。 
  持续性算法:特定客户端之请求被配置到一个真实之服务组中,与一个真实之服务器处理。主要包括: 
  (1)基于IP之算法:基于用户IP地址来进行服务器的选择。-Hash IP (hi) :基于用户IP地址之HASH值,来进行服务器的选择: 
  (2)基于请求/报头之算法-Hash Header:进行服务器的选择是通过用户请求报中HTTP之报头;Persistent Hostname :服务器的选择是根据用户的请求中HTTP报头之HASH值;Persistent URL:服务器的选择是通过对URI Tag 与值之静态的对应关系。SSL Session ID :服务器的选择是根据SSL会话ID。 
  (3)基于Cookie之算法-Persistent Cookie: 进行服务器的选择是通过用户请求包用Cookie Name / Value 之静态对应关系来; -Hash Cookie :进行服务器的选择是通过用户请求包用Cookie Name / Value 之Hash 值对应关系;-Insert Cookie :进行服务器的选择是通过负载均衡器,向服务器响应包中插入Cookie;-Re-write Cookie :进行服务器的选择是通过负载均衡器向服务器响应包中重写Cookie值。 
  参考文献: 
  [1]李文中,郭胜,许平,陆桑璐,陈道蓄.服务组合中一种自适应的负载均衡算法[J].软件学报,2006(05). 
  [2]王霜,修保新,肖卫东.Web服务器集群的负载均衡算法研究[J].计算机工程与应用,2004(09). 
  [3]周松泉.一种新的服务器集群负载均衡算法[J].南昌航空大学,2012(05). 
  [4]田绍亮,左明,吴绍伟.一种改进的基于动态反馈的负载均衡算法[J].计算机工程与设计,2007(02). 
  [5]李坤,王百杰.服务器集群负载均衡技术研究及算法比较[J].计算机与现代化,2009(08)
0 0