`
sunday132
  • 浏览: 51149 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

LVS的10个调度算法(转)

阅读更多

                                                               LVS的10个调度算法(转)


1. 大锅饭调度(Round-Robin Scheduling RR)
rr – 纯轮询方式,比较垃圾。把每项请求按顺序在真正服务器中分派。

2. 带权重的大锅饭调度(Weighted Round-Robin Scheduling WRR)
wrr -带权重轮询方式。把每项请求按顺序在真正服务器中循环分派,但是给能力较大的服务器分派较多的作业。

3. 谁不干活就给谁分配(Least-Connection LC)
lc – 根据最小连接数分派

4. 带权重的谁不干活就给谁分配(Weighted Least-Connections WLC 默认)
wlc – 带权重的。机器配置好的权重高。

5. 基于地区的最少连接调度(Locality-Based Least-Connection
Scheduling LBLC)

lblc – 缓存服务器集群。基于本地的最小连接。把请求传递到负载小的服务器上。

6. 带有复制调度的基于地区的最少连接调度(Locality-Based Least-Connection Scheduling with Replication Scheduling LBLCR)
lblcr – 带复制调度的缓存服务器集群。某页面缓存在服务器A上,被访问次数极高,而其他缓存服务器负载较低,监视是否访问同一页面,如果是访问同一页面则把请求分到其他服务器。

7. 目标散列调度(Destination Hash Scheduling DH)
realserver中绑定两个ip。ld判断来者的ISP商,将其转到相应的IP。

8. 源散列调度(Source Hash Scheduling SH)
源地址散列。基于client地址的来源区分。(用的很少)

9. 最短的期望的延迟(Shortest Expected Delay Scheduling 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)
无需队列。如果有台realserver的连接数=0就直接分配过去,不需要在进行sed运算。

 

 

--------------------------------

LVS的负载调度算法 在内核中的连接调度算法上,IPVS已实现了以下八种调度算法:

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

    轮叫调度(Round Robin Scheduling)算法就是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,不管服务器上实际的连接数和系统负载,所以它是一种无状态调度 

2、wrr      加权轮叫调度(Weighted Round-Robin Scheduling) 

    加权轮叫调度(Weighted Round-Robin Scheduling)算法可以解决服务器间性能不一的情况,它用相应的权值表示服务器的处理性能,服务器的缺省权值为1。假设服务器A的权值为1,B的权值为2,则表示服务器B的处理性能是A的两倍。加权轮叫调度算法是按权值的高低和轮叫方式分配请求到各服务器。权值高的服务器先收到的连接,权值高的服务器比权值低的服务器处理更多的连接,相同权值的服务器处理相同数目的连接数。 

3、lc       最小连接调度(Least-Connection Scheduling) 

    最小连接调度(Least-Connection Scheduling)算法是把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减一。

    如果集群系统的真实服务器具有相近的系统性能,采用”最小连接”调度算法可以较好地均衡负载。 

4、wlc      加权最小连接调度(Weighted Least-Connection Scheduling)

    加权最小连接调度(Weighted Least-Connection Scheduling)算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权值。加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。

调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。 

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

    缓存服务器集群。

    基于局部性的最少链接调度(Locality-Based Least Connections Scheduling,以下简称为LBLC)算法是针对请求报文的目标IP地址的负载均衡调度,目前主要用于Cache集群系统,因为在Cache集群中客户请求报文的目标IP地址是变化的。这里假设任何后端服务器都可以处理任一请求,算法的设计目标是在服务器的负载基本平衡情况下,将相同目标IP地址的请求调度到同一台服务器,来提高各台服务器的访问局部性和主存Cache命中率,从而整个集群系统的处理能力。LBLC调度算法先根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于其一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求发送到该服务器。 

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

    带复制调度的缓存服务器集群。

    带复制的基于局部性最少链接调度(Locality-Based Least Connections with Replication Scheduling,以下简称为LBLCR)算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。对于一个“热门”站点的服务请求,一台Cache 服务器可能会忙不过来处理这些请求。这时,LBLC调度算法会从所有的Cache服务器中按“最小连接”原则选出一台Cache服务器,映射该“热门”站点到这台Cache服务器,很快这台Cache服务器也会超载,就会重复上述过程选出新的Cache服务器。这样,可能会导致该“热门”站点的映像会出现在所有的Cache服务器上,降低了Cache服务器的使用效率。LBLCR调度算法将“热门”站点映射到一组Cache服务器(服务器集合),当该“热门”站点的请求负载增加时,会增加集合里的Cache服务器,来处理不断增长的负载;当该“热门”站点的请求负载降低时,会减少集合里的Cache服务器数目。这样,该“热门”站点的映像不太可能出现在所有的Cache服务器上,从而提供Cache集群系统的使用效率。LBLCR算法先根据请求的目标IP地址找出该目标IP地址对应的服务器组;按“最小连接”原则从该服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载;则按“最小连接”原则从整个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。 

7、dh       目标地址散列调度(Destination Hashing Scheduling) 

    realserver中绑定两个IP。ld判断来者的ISP商,将其转到相应的IP。

    目标地址散列调度(Destination Hashing Scheduling)算法也是针对目标IP地址的负载均衡,但它是一种静态映射算法,通过一个散列(Hash)函数将一个目标IP地址映射到一台服务器。目标地址散列调度算法先根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。 

8、sh       源地址散列调度(Source Hashing Scheduling)

    基于client地址的来源区分。(用的很少)

    源地址散列调度(Source Hashing Scheduling)算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。它采用的散列函数与目标地址散列调度算法的相同。它的算法流程与目标地址散列调度算法的基本相似,除了将请求的目标IP地址换成请求的源IP地址,所以这里不一一叙述。在实际应用中,源地址散列调度和目标地址散列调度可以结合使用在防火墙集群中,它们可以保证整个系统的唯一出入口。


转自:http://hi.baidu.com/zyg1026/blog/item/6255d958666d6f99810a18a6.html


 

分享到:
评论

相关推荐

    一种LVS负载均衡调度算法WLC的改进.pdf

    一、LVS负载均衡调度算法 LVS(Linux Virtual Server)系统是一个开源项目,它采用基于IP层负载均衡的调度方法将TCP/IP请求均衡地分配到不同的真实服务器(Real Server,简称RS)上,负载均衡器自动屏蔽掉真实...

    LVS工作模式-始终调度算法

    ### LVS工作模式与十种调度算法 #### LVS简介 LVS(Linux Virtual Server)是一种基于Linux内核的负载均衡技术,它通过构建虚拟服务器集群来实现对大量并发访问的处理,有效提升系统的可用性和扩展性。LVS支持三种...

    掌握LVS概念及原理、调度算法,工作模式.doc

    LVS 概念及原理、调度算法、工作模式 LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,旨在提供高性能、可扩展性和高可靠性的服务器集群解决方案。LVS 是由章文崇先生组织开发的中国最早的软件集群之一...

    LVS安装和配置算法说明

    这里的`<scheduler>`是调度算法,如RR(轮询)、WRR(加权轮询)、LC(最少连接)等。 接着添加真实服务器: ```bash ipvsadm -a -r <real_server_ip>:<port> -w ``` `<weight>`是RS的权重,用于WRR算法。 ### ...

    企业级调度器LVS原理与实战

    3. **LVS调度算法** LVS支持多种调度算法,如轮询(Round Robin)、加权轮询(Weighted Round Robin)、最少连接(Least Connections)、基于哈希的散列算法(Hash)等,这些算法可以根据不同业务需求选择,以优化...

    一种视频服务器集群的动态反馈调度算法.pdf

    【加权连接调度算法】:加权连接调度算法是LVS中的一种调度策略,根据服务器的处理能力和当前负载情况,为每个服务器分配不同的权重。权重高的服务器会接收更多的连接请求,从而更有效地利用服务器资源。 【负载不...

    LVS调度策略及负载均衡原理深入.pptx

    LVS调度策略可以根据不同的协议和应用场景选择合适的调度算法。 此外,LVS调度策略还需要考虑到服务器的请求调度方法,例如基于客户端的请求调度、基于DNS的请求调度、基于前端调度器的请求调度和基于后端服务器的...

    8.1: 集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群 、 总结与答疑.docx

    例如,使用ipvsadm -A命令可以添加一个新的LVS集群规则,使用ipvsadm -a命令可以添加一个新的real server,使用ipvsadm -E命令可以修改LVS集群规则的调度器算法。 1.2 LVS集群模式 LVS集群模式有两种:LVS-NAT...

    lvs搭建过程详解

    **二、LVS调度算法** LVS支持多种调度算法,包括: 1. **轮询(Round-Robin)**:每个请求按顺序分配到后端服务器,公平分配负载。 2. **最小连接数(Least Connections)**:将请求分配给当前连接数最少的服务器...

    lvs负载均衡源码

    LVS负载均衡器的调度算法有很多种,例如轮询(Round Robin)、最少连接(Least Connections)、短连接优先(Shortest Connection First)等,可以根据实际需求选择合适的算法来分配请求。 在“LVS-master”这个...

    企业级调度器LVS实战详解

    **二、LVS调度算法** LVS提供了多种调度策略,以适应不同场景的需求: 1. **轮询(Round Robin)**:最简单的策略,依次将请求分配给各个服务器。 2. **最少连接(Least Connections)**:将请求分配给当前连接数...

    基于LVS的动态反馈调度算法研究

    以LVS集群加权轮叫调度算法为基础,根据客户对QOS的要求,引入自动控制的单回路反馈控制思想,实现对LVS服务器集群的快速、有效控制。该方案通过对系统内服务器的负载情况进行整体评估,选出要被调整的服务器集合,...

    LVS和keepalived详细

    LVS还提供了八种负载调度算法,包括轮叫(Round Robin)、加权轮叫(Weighted Round Robin)、最少链接(Least Connections)、加权最少链接(Weighted Least Connections)等。这些算法可以根据不同的网络服务需求...

    第五讲LVS调度策略及负载均衡原理深入.pptx

    其核心是通过智能调度算法来分发请求到多个后端服务器上,从而达到负载均衡的目的。 在《第五讲LVS调度策略及负载均衡原理深入》的PPTX文件中,提到了多种不同的LVS调度策略,并对其进行了深入的探讨。接下来将对...

    lvs安装配置 入门与详解

    LVS支持多种调度算法,如轮询(rr)、最少连接(lc)、哈希(sh)等,可以根据业务特性选择合适的调度策略。此外,LVS还可以配置健康检查机制,定期检查后端服务器状态,确保只有健康的服务节点才能接收请求。 在...

    sery-lvs-cluster.rar_cluster_lvs_sery-lvs-cluster

    3. **调度算法**:LVS支持多种调度算法,如轮询(Round Robin)、最少连接(Least Connection)、短连接(Shortest Connection)、加权轮询(Weighted Round Robin)等。每种算法有其特定的使用场景,需要根据业务...

    LVS集群

    ### 二、LVS调度算法 LVS提供了多种调度策略: 1. **轮询(Round Robin)**:最简单的策略,按顺序分配请求。 2. **最小连接数(Least Connections)**:将请求发送给当前连接数最少的服务器,有利于处理短连接的...

    lvs+keepalive 比较详细的安装配置文档

    LVS 实现了八种负载调度算法,包括轮叫(Round Robin)、加权轮叫(Weighted Round Robin)、最少链接(Least Connections)、加权最少链接(Weighted Least Connections)等。这些算法可以根据不同的网络服务需求和...

Global site tag (gtag.js) - Google Analytics