首页 > 代码库 > lvs算法介绍

lvs算法介绍

lvs算法类型:
  静态算法:rr,wrr,dh,sh
  动态算法:wlc,lc,lblc,SED,NQ(后两种官方站点没有提到,编译LVS,make过程可以看到)

静态算法:仅根据算法本身进行调度;(保证起点公平)

  RR:round robin,轮调,轮循
  WRR:weighted rr,加权轮循
  SH:source hash,实现session保持的机制;将来自于同一个IP的请求始终高度至同一RS
  DH:destination hash,当请求同个资源时上,转发至固定的Server

动态算法:根据算法及后端各RS的当前负载(overhead)状态进行调度;(保证结果公平)

 LC:Least Connection(最少连接算法)
   Overhead=Active*256+Inactive
 WLC(weight least connection):加权 LC
   Overhead=(Active*256+Inactive)/weight,取数值最小的
 SED:Shortest Expect Delay(最短期望延迟)
   Overhead=(Active+1)*256/weight
 NQ:Nerver Queue(最少队列调度)
 SED算法的改进
 LBLC:Locality-Based LC(基于目的地址的最小连接数调度),即为动态的DH算法
 LBLCR:带复制功能的LBLC算法

最常用的算法:

  A.基本轮循调度rr算法
  B.加权轮循高度wrr算法
  C.加权最小连接调度wlc算法 

本文出自 “激情燃烧的岁月” 博客,请务必保留此出处http://liuzhengwei521.blog.51cto.com/4855442/1929444

lvs算法介绍