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
下一篇 2017-01-10

相关推荐

  • 8-2 用户组和权限管理

    用户组和权限管理     本节主要是:su、passwd、chage、chown、chgrp、chmod、umask等命令及文件的三种普通权限和三种特殊权限     切换用户或以其他用户身份执行命令:su su [options…] [-] [user[args…]] 切换用…

    Linux干货 2016-08-07
  • Linux基础入门1

    Linux基础入门1 目录 计算机组成及其功能 简述Linux发行版 Liunx哲学思想 Linux命令格式 Linux系统获取命令帮助信息 Linux基础目录简述 1. 计算机组成及其功能 ENIARC:埃尼阿克,世界上第一台通用计算机,诞生于1946年美国宾夕法尼亚大学。 冯诺依曼体系-计算机五大基础部件:运算器、控制器、存储器、输入设备和输出设备。 1…

    2017-12-19
  • 第九周作业

    awk基础 简介        AWK是一种优良的文本处理工具。它是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一,相比sed常常作用于一整行的处理,awk比较倾向于将一行分成数个“字段”来处理。所以,awk相当适合处理小型的数据处理。 基础用法 awk[选项] ‘program’…

    2017-07-16
  • Linux网络管理命令的使用

    网络管理命令 ip命令 配置Linux网络属性:ip命令,不过该命令的操作只是临时操作,重启以后配置丢失 ip-show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help }    &n…

    Linux干货 2016-09-11
  • SHELL流程控制之循环

    当进行脚本编程时,语句执行的流程控制通常有三种: l  顺序执行 l  选择执行 l  循环执行   条件选择if: if语句可以进行嵌套 if 判断条件;then          条件为真的分支代码 elif  判断条件;th…

    Linux干货 2016-08-18
  • Linux中的shell脚本编程——基础篇

    概述:       shell脚本在Linux系统管理员的运维工作中非常重要。shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求。本篇将从编程基础、脚本基本格式、变量、运算、条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容。 一、…

    Linux干货 2016-08-15