`

LVS三种工作模式、十种调度算法介绍

阅读更多

工作模式介绍:
1.Virtual server via NAT(VS-NAT)
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,物理服务器可以分配Internet的保留私有地址,只有负载均衡器需要一个合法的IP地址。
缺点:扩展性有限。当服务器节点(普通PC服务器)数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包都需要经过负载 均衡器再生。假使TCP包的平均长度是536字节的话,平均包再生延迟时间大约为60us(在Pentium处理器上计算的,采用更快的处理器将使得这个 延迟时间变短),负载均衡器的最大容许能力为8.93M/s,假定每台物理服务器的平台容许能力为400K/s来计算,负责均衡器能为22台物理服务器计 算。

解决办法:即使是是负载均衡器成为整个系统的瓶颈,如果是这样也有两种方法来解决它。一种是混合处理,另一种是采用Virtual Server via IP tunneling或Virtual Server via direct routing。如果采用混合处理的方法,将需要许多同属单一的RR DNS域。你采用Virtual Server via IP tunneling或Virtual Server via direct routing以获得更好的可扩展性。也可以嵌套使用负载均衡器,在最前端的是VS-Tunneling或VS-Drouting的负载均衡器,然后后面 采用VS-NAT的负载均衡器。

2.Virtual server via IP tunneling(VS-TUN)
我们发现,许多Internet服务(例如WEB服务器)的请求包很短小,而应答包通常很大。
优点:负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。所以,负载均衡器能处理很巨大的请求量,这种方式,一台负载均衡能 为超过100台的物理服务器服务,负载均衡器不再是系统的瓶颈。使用VS-TUN方式,如果你的负载均衡器拥有100M的全双工网卡的话,就能使得整个 Virtual Server能达到1G的吞吐量。
缺点:但是,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,我仅在Linux系统上实现了这个,如果你能让其它操作系统支持,还在探索之中。

3.Virtual Server via Direct Routing(VS-DR)
优点:和VS-TUN一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结 构,因此可以使用大多数操作系统做为物理服务器,其中包括:Linux、Solaris 、FreeBSD 、windows、IRIX 6.5;HPUX11等。
不足:要求负载均衡器的网卡必须与物理网卡在一个物理段上。

三种IP负载均衡技术的优缺点比较:
杂项         VS/NAT     VS/TUN      VS/DR
服务器操作系统    任意      支持隧道     多数(支持Non-arp )
服务器网络      私有网络    局域网/广域网  局域网
服务器数目(100M网络) 10-20      100       多(100)
服务器网关      负载均衡器   自己的路由    自己的路由
效率         一般      高        最高
调度算法介绍:
1.轮叫调度(Round Robin)(简称rr)
调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。

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

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

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

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运算

分享到:
评论

相关推荐

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

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

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

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

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

    三、改进后的WLC调度算法 改进后的WLC调度算法可以根据服务器的当前连接数和服务器的权重对服务器进行选择,并且引入了动态调整服务器权重的机制,以确保服务器的负载均衡。该算法可以很好地均衡服务器的负载,使...

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

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

    LVS 工作模式以及工作原理1

    LVS支持四种常见的工作模式,这里主要讨论其中的两种:DR(Direct Routing)模式和NAT(Network Address Translation)模式。 **LVS DR模式** 1. **网络结构**:DR模式下,VIP(Virtual IP)与所有Real Server在...

    linux lvs 的DR 模式

    LVS 支持多种工作模式,其中 Direct Routing (DR) 模式是最常用的一种。 #### 二、准备工作 在开始搭建 LVS DR 模型之前,我们需要做一些准备工作: 1. **虚拟化环境准备**:文档中提到使用 VMware Workstation ...

    4.LVS--NAT模式+DR模式.docx

    本文将详细介绍 LVS 的两种主要工作模式——NAT 模式和 DR 模式,以及这两种模式下的具体操作流程。 #### 二、LVS 架构 LVS 主要包括三个组成部分: 1. **负载调度层**:由一台或多台调度器组成,负责接收来自...

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

    总结来说,该论文介绍了一种应用于视频服务器集群的动态反馈调度算法,结合Linux虚拟服务器的加权连接调度算法,解决了服务器之间的负载不平衡问题,提高了系统的吞吐率,并确保随着集群规模扩大,其综合负载率能...

    LVS/NAT与LVS/DR模式集群的概述与配置

    LVS支持三种主要的工作模式:VS/NAT(Network Address Translation)、VS/DR(Direct Routing)和VS/TUN(Tunneling)。 - **VS/NAT**: - 通过网络地址转换实现虚拟服务器。 - 这种模式下,所有的数据包都会经过...

    LVS安装和配置算法说明

    LVS的工作模式主要包括三种:NAT(网络地址转换)、DR(直接路由)和TUN(隧道)。 1. **NAT模式**:客户端的请求被重写,目标地址变为内部服务器的IP,适合跨网段部署。 2. **DR模式**:数据包的目标MAC地址被改写...

    lvs搭建过程详解

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

    lvs负载均衡源码

    LVS的核心技术包括三种工作模式:DR(Direct Routing)、NAT(Network Address Translation)和TUNNEL(IP Tunneling)。每种模式都有其独特的应用场景和优缺点。 1. DR模式:直接路由模式。在这种模式下,LVS调度...

    企业级调度器LVS实战详解

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

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

    最后,需要配置LVS集群规则和调度器算法,并将模式改为DR模式。 例如,使用ipvsadm -e命令可以修改LVS集群规则的模式,将其改为DR模式。 1.5 小结 LVS是Linux虚拟服务器的缩写,主要用于实现服务器集群和负载...

    lvs DR模式总结详细笔记文档

    LVS DR 模式总结详细笔记文档 LVS(Linux Virtual Server)是一种基于 Linux 的负载均衡解决方案,能够将incoming请求分布到多个后端...LVS DR 模式是一种高效、可靠的负载均衡解决方案,能够满足各种应用场景的需求。

    LVS和keepalived详细

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

    lvs负载均衡集群详解

    LVS负载均衡集群可以分为三种模式:NAT模式、DR模式和TUN模式。NAT模式是最常用的模式,通过将客户端的请求转发到后端的服务器上,实现负载均衡。DR模式是直接路由模式,通过修改客户端的包头信息,直接将请求路由到...

    LVS的三种IP负载均衡技术

    LVS提供了三种主要的IP负载均衡模式:NAT模式、IP隧道模式和直接路由模式,每种模式都有其特定的应用场景和优势。 1. **NAT(网络地址转换)模式** NAT模式是基于IP地址转换的负载均衡策略。在此模式下,客户端...

Global site tag (gtag.js) - Google Analytics