zoukankan      html  css  js  c++  java
  • 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的,则取每权重有效连接数小的服务器

  • 相关阅读:
    [IDA] 显示反汇编字节码
    使用OD手动去除花指令的一个小技巧
    [CrackMe]一个简单算法的CrackMe
    [IDA] 将ANSI字符串转换为Unicode字符串
    二进制中的数学换算
    GDT表与段描述符
    C#3.0新增功能10 表达式树 04 执行表达式
    C#3.0新增功能10 表达式树 03 支持表达式树的框架类型
    C#3.0新增功能10 表达式树 02 说明
    C#3.0新增功能10 表达式树 01 简介
  • 原文地址:https://www.cnblogs.com/wangliangblog/p/13393304.html
Copyright © 2011-2022 走看看