• Linux负载均衡--LVS(IPVS)主要算法实现分析


    LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一种叫基于TCP/IP的负载均衡技术,转发效率极高,具有处理百万计并发连接请求的能力。

    IPVS支持的调度算法:
    轮流:"rr"
    循环链表不停向后查找。


    权重轮流:"wrr"
    权重分表示优先级还是表示比例,此处为优先级;先用辗转相除法求取权重最大公约数,然后用最大权重依次递减最大公约数(递减最大公约数可减少递减次数)获取服务器。

    最少连接:"lc"
    每台服务器统计连接数,查询时获取连接数最少的服务


    加权最少连接:"wlc"
    获取每权重连接数最少的服务器,此处权重表示比例,即连接数cn1除以权重w1和连接数cn2除以权重w2,取值小的服务器:即若cn1/w1 < cn2/w2,则取ser1。为优化性能真正实现为 cn1*w2 < cn2*w1 则取serv1

    源地址HASH: "sh"
    目标地址HASH:"dh"
    将服务器指针循环按个存储在HASH表上,报文到达时根据地址计算HASH获取服务器。

    局部性最少连接:"lblc"
    复制的局部性最少连接:"lblcr"
    有效连接数*50加无效连接数,再除以权重,取每权重小的服务器

    最少的期望延迟:"sed"
    目前取每权重有效连接数小的服务器,类似wlc,但wlc取的所有连接数(有效+无效连接),sed只取有效连接。连接有效证明有数据正在传输,连接越多带宽占用越大,认为时延越大。

    最少队列调度:"nq"
    首先取有效连接数为0的服务器,若不存在为0的,则取每权重有效连接数小的服务器

  • 相关阅读:
    如何保证service不被系统杀死
    查找算法
    java多线程学习
    设计模式-单例
    Python2.7-内置类型
    Python2.7-内置函数
    准备要学的东西
    Python-2.7 : 编码问题及encode与decode
    【JZOJ4637】大鱼海棠【博弈论】
    【JZOJ4637】大鱼海棠【博弈论】
  • 原文地址:https://www.cnblogs.com/wangliangblog/p/13393304.html
Copyright © 2020-2023  润新知