LVS调度方法

lvs scheduler:

    根据其调度时是否考虑后端主机的当前负载,可分为静态方法和动态方法

    静态方法:仅根据算法本身进行调度:

        RR:Round Ronin 轮询

        WRR:Weighted Round Ronin 加权轮询

        SH:Source Hash 将客户端的源IP和调度后的RS转换为hash值(key/value),保存在Director的会话表中,下一次连接时直接查找会话表进行转发,而不需要重新调度

           在用户使用NAT上网时,因一内网中不同用户使用的源IP都是NAT后的某个IP,SH的调度方式很粗糙(LVS无法基于COOKIE做负载均衡)

        DH:Destination Hash 将客户端请求的目标地址和调度后的RS转换为hash至,保存在Director的会话表中,下一次连接时直接查找会话表进行转发,而不需要重新调度

           通常用在正向web代理(缓存),负载均衡内网用户对外部服务器的请求

           哈希的是目标地址

     动态方法:根据算法及各RS当前的负载状态进行调度

         Overhead:RS当前的负载值

         Overhead相同的情况下,按可用RS列表进行轮询

         LC:least connections,最少连接

           Overhead=Active*256+Inactive   (活动连接*256+非活动连接)  非活动连接即服务器等待客户端发送请求,而客户端并不发送

           根据各RS的Overhead选择负载最小的服务器

         WLC:Weighted LC 加权最小连接     

           Overhead=(Active*256+Inactive)/weight

         SED:Shortest Expections Delay    主要用于解决在空闲状态下,连接能够被分配至权重最大的服务器

           Overhead=(Active+1)*256/weight

         NQ:Nerver Queue    优先保证每台服务器上均分配到连接,之后根据Overhead值进行分配

         LBLC:Locallity-Based LC  基于本地的最少连接

            动态DH算法:对同一个目前请求进行动态的负载均衡,损失命中率而提高了均衡性

         LBLCR:LBLC算法的改进,如在各web缓存RS服务器上可以相互同步缓存数据

            带复制功能的LBLC

         WLC动态算法是最为通常,而且是默认的动态算法

 负载均衡集群中保持会话一致的方式:

     (1)源地址哈希;

     (2)会话集群:适用于小规模RS集群场景,将多台RS组件一个Seesion cluster,保证每台服务器上的会话内容都一致

     (3)会话服务器:创建一个共享存储用于保持会话数据(需要支持KV类型的数据库,如redis、hbase等)

原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/66284

(0)
oranixoranix
上一篇 2017-01-10 13:18
下一篇 2017-01-10 13:20

相关推荐

  • linux路由转发(软路由)实验

        一。实验网络拓扑             (R1,R2由 Linux 虚拟机添加双网卡做软路由实现)              &n…

    Linux干货 2016-09-05
  • 文件的权限、扩展属性以及facl

    大纲: 一、前言 二、普通权限 三、特殊权限 四、ext文件的扩展属性 五、文件的访问控制列表(facl) 一、前言 linux中常见的权限有读(r)、写(w)、执行(x),还有3个特殊的权限。因此下面就从普通权限开始介绍起 二、普通权限 rwx:读 写 执行 rwxr-xr-x : 读写执行 读_执行 读_执行  (分别对应)属主 属组…

    Linux干货 2015-05-04
  • 第六周作业-Vim总结

                    Vim总结 vim功能比较多,这里我不总结vim多窗口,只对基本常用的介绍. 一.模式说明 vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模…

    Linux干货 2017-01-16
  • 字符串处理

      一.字符串处理 v bash 的字符串处理工具: (一)字符串切片: ${#var}: 返回字符串变量var 的长度 例: [root@lxc ~]# a="     " [root@lxc ~]# echo ${#a} 5 [root@lxc ~]# ${var:offse…

    Linux干货 2016-11-24
  • 功能强大的Linux文本编辑器之Vim的使用

    VIM编辑器   Vim章节的内容:    使用vi和vim的三种主要模式    移动光标,进入插入模式    改变、删除、复制文本    撤销改变    搜索文档    vim寄存器    可视化和多窗口 &…

    Linux干货 2016-08-12
  • 任务计划1

    at.allow :优先级高,有此文件,deny无效,只有此文件中的用户可使用at at.deny:优先级低,此文件中的用户拒绝,不在此文件允许 如果都没有,全都拒绝普通用户     [root@localhost ~]# rpm -q  at at-3.1.13-22.el7.x86_64 [root@localhost ~]…

    Linux干货 2017-05-15