zoukankan      html  css  js  c++  java
  • LVS 的负载均衡调度算法

    LVS 的负载均衡调度算法

    1、轮叫调度 (Round Robin) ( rr )

    调度器通过“ 轮叫 ”调度算法将外部请求按顺序轮流分配到集群的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。

    2、加权轮叫(Weihted Round Robin)(wrr)

    调度器通过“ 加权轮叫 ”调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器能处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

    3、最少连接(Least Connections)(LC)

    调度器通过“ 最少连接 ”调度算法动态地将网络请求调度到已建立的廉洁书最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用“ 最小连接 ”调度算法可以较好地均衡负载

    4、加权最少链接(Weighted Least Connections)(WLC)

    在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

     (5-7缓存集群用的较多)

    5、基于局部性的最少链接(Locality-Based Least Connections)(LBLC)

    是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接” 的原则选出一个可用的服务器,将请求发送到该服务器。

    6、带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)(LBLCR)

    是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标 IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。

    7、目标地址散列(Destination Hashing)(DH)

    根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

    8、源地址散列(Source Hashing)(SH)

    根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

    9、最短的期望的延迟(Shortest Expected Delay Scheduling SED)(SED)

    基于wlc算法。这个必须举例来说: ABC三台机器分别权重123 ,连接数也分别是123。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用sed算法后会进行这样一个运算:

    A(1+1)/1

    B(1+2)/2

    C(1+3)/3

    根据运算结果,把连接交给C 。

    10、最少队列调度(Never Queue Scheduling NQ)(NQ)

    无需队列。如果有台 realserver的连接数=0就直接分配过去,不需要在进行sed运算。

  • 相关阅读:
    小希的迷宫
    不下降序列
    Stones on the Table
    glsl之纹理演示
    glsl之多重纹理演示
    6.12
    这狗日的生活
    小楼一夜听春雨,天下谁人不识君?
    lua 调用C/C++
    D3DFVF_XYZ和D3DFVF_XYZRHW的区别
  • 原文地址:https://www.cnblogs.com/wanghs8/p/11672497.html
Copyright © 2011-2022 走看看