`
jarit
  • 浏览: 142324 次
社区版块
存档分类
最新评论

转 LVS 负载均衡算法

阅读更多
轮叫调度RR(Round-Robin Scheduling)
--------------------------------------------------------------
轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度。不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,轮叫调度算法容易导致服务器间的负载不平衡。

加权轮叫调度WRR(Weighted Round-Robin Scheduling)
--------------------------------------------------------------

最小连接调度LC(Least-Connection Scheduling)
--------------------------------------------------------------
把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态调度算法,通过服务器当前所活跃的连接数来估计服务器的负载情况。

加权最小连接调度WLC(Weighted Least-Connections Scheduling)
--------------------------------------------------------------

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

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

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

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

最短预期延时调度SED(Shortest Expected Delay Scheduling)
--------------------------------------------------------------

不排队调度NQ(Never Queue Scheduling)

 

分享到:
评论

相关推荐

    lvs负载均衡集群详解

    LVS负载均衡集群的调度算法是整个集群的核心,通过调度算法,可以实现客户端请求的分发和负载均衡。常见的调度算法有轮询法、响应时间法、最少连接法等。 企业级应用中,LVS负载均衡集群的应用非常广泛,例如在线...

    lvs负载均衡源码

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

    LVS负载均衡

    【LVS负载均衡详解】 LVS,全称Linux Virtual Server,是Linux系统中的一种高性能的负载均衡技术,由章文嵩博士发起并维护,旨在提供一个高质量的虚拟服务器集群解决方案。LVS作为开源项目,其官方网站为...

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

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

    LVS负载均衡服务器.pdf

    配置LVS负载均衡时,需要定义Real Server(实际服务器)列表,并选择合适的负载均衡算法。通过ipvsadm命令,可以添加、删除和修改负载均衡规则。例如,`ipvsadm -A -t <virtual_ip>:<port> -s <scheduler>`命令可以...

    LINUX集群LVS负载均衡配置.pdf

    ### LINUX集群LVS负载均衡配置知识点详解 #### 一、LVS概述与基本原理 **LVS**(Linux Virtual Server)是一种开源的负载均衡技术,主要用于实现高性能的Web服务器集群。它通过一个虚拟的IP地址(VIP)对外提供...

    LVS实现网络负载均衡实例精讲

    - **可扩展性**:LVS支持多种负载均衡算法,可以根据实际情况选择合适的策略,实现服务器资源的有效利用。 - **透明性**:从客户端的角度看,整个服务器集群就像一个单一的高性能虚拟服务器,无需修改客户端程序或...

    负载均衡的LVS服务器的设计与实现.pdf

    【负载均衡的LVS服务器设计与实现】 LVS(Linux Virtual Server)是基于Linux操作系统的一种高性能、高可用的负载均衡解决方案。它利用集群技术,通过IP负载均衡技术,实现了虚拟服务器的功能,从而提供了高可伸缩...

    lvs负载均衡

    ### lvs负载均衡详解 #### 引言 在互联网领域,**负载均衡**技术一直扮演着至关重要的角色,尤其在确保系统高可用性、可扩展性和优化资源利用方面。本书章节将深入探讨由田逸(sery@163.com)撰写的《负载均衡及...

    Linux&&LVS负载均衡群集

    Linux&&LVS负载均衡群集概念群集的类型负载均衡的分层结构负载均衡的工作模式环境部署(NAT模式)负载调度器部署启动ip_vs模块LVS的负载调度算法使用ipvsadm管理工具NFS共享存储服务使用NFS发布共享资源在客户机中...

    Linx LVS负载均衡的解决方案

    ### Linx LVS负载均衡的解决方案 #### 一、背景介绍与需求分析 随着互联网技术的飞速发展,大型商业网站面临着前所未有的访问压力。如何有效地处理这些访问请求,提高用户体验,成为了一个亟待解决的问题。某大型...

    第三十二章:Lvs负载均衡群集1

    【第三十二章:Lvs负载均衡群集1】 在IT领域,LVS(Linux Virtual Server)是一种高效且稳定的负载均衡解决方案,由中国章文嵩博士在1998年开发。LVS默认集成在Linux内核中,以ip_vs内核模块的形式存在。它通过将...

    lvs四层的负载均衡和七层负载均衡的区别

    ### LVS四层与七层负载均衡的区别 #### 基础概念 负载均衡技术是现代互联网架构中不可或缺的一部分,其主要目的是通过合理地分配网络请求到不同的服务器上来提高系统的可用性和扩展性。根据处理数据包的层次不同,...

    LVS负载均衡-实战总结.doc

    **LVS负载均衡详解** LVS(Linux Virtual Server)是一种高性能的网络负载均衡技术,它可以在不修改现有应用的情况下,实现高可用性和可扩展性。本文主要探讨LVS的两种工作模式:NAT(网络地址转换)和DR(直接路由...

    Lvs负载均衡的基本设置[收集].pdf

    【LVS负载均衡基本设置详解】 LVS(Linux Virtual Server),是基于Linux操作系统的一个高性能的负载均衡解决方案。本文主要探讨LVS/NAT方式的负载均衡配置,这种模式下,Director机器接收外部请求,修改目标地址并...

Global site tag (gtag.js) - Google Analytics