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

相关推荐

  • 马哥教育第20期一班第一周作业

    一、利用echo将下图弄成闪烁;字体自带颜色且有下滑线? [root@centos7 ~]# echo -e "\033[31m\033[4m\033[5m\0052\0052\0052\0052\0052\0052\0052\n \0052\0052\0052\0052\0052\n &…

    Linux干货 2016-07-29
  • Linux文本处理及用户组管理命令练习

    一.文本处理基础命令 (1).  列出当前系统上所有已经登录的用户的用户名。           完成命令:who  |  cut  -d’ ‘  -f1  |  uniq  -u 示例: (2).取出最后登录到当前系统对的用户的相关信息。         完成命令:w  |  tail -1 示例: (3).取出当前系统上被用户当作…

    2018-03-11
  • jackcui0804作业

    (1)显示/proc/meminfo 文件中以大小s 开头的行;( 要求:使用两种方式) [root@centos7 ~]# cat /proc/meminfo | grep -e "^s.*" -e "^S.*" SwapCac…

    Linux干货 2016-08-08
  • 软件包管理

    软件包管理 在linux中有人多的软件使用,比如我们使用的ifconfig,fdisk,btrfs文件系统等。可能这些软件在你原有的linux系统中并不存在,那么我们如何去使用这些工具呢。我们知道windows在需要软件的时候需要安装,当然对于linux系统一样需要安装。在linux下常用的安装工具我们使用的是rpm程序包(当然我们这边是针对CentOS而言…

    Linux干货 2016-08-19
  • 马哥教育网络班21期-第九周课程练习

    第九周作业 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin=0 declare -i other=0   &n…

    Linux干货 2016-09-19
  • N25期—第二周作业

    1、  Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。   一、文件权限管理类命令  chown:改变文件所有者  chown [OPTION]… [OWNER][:[GROUP]] FILE…  常用参数 -R:递归修改(改目录就改目录中的目录及文件) &n…

    Linux干货 2016-12-11