`
美丽的小岛
  • 浏览: 308816 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

服务器负载均衡算法(转)

 
阅读更多

     服务器负载均衡算法有很多(持续性的和非持续性的),包括轮循算法、最少连接算法、响应时间算法、散列算法、最少连接失误算法,链路带宽算法等等。此外实际服务器(Real Server)可以被分配不同的加权值来调整被分配的流量。比如性能高的大型服务器可配置较大的加权值,而为性能较低的小型服务器设置较小的加权值。为了避免服务器因过载而崩溃,可为实际服务器指定最大连接阈值来避免该服务器过载。任何服务器可被指定为另一台服务器的备份服务器或溢出服务器,从而进一步保证了应用可用性。

   

此外实际服务器(RealServer)可以被分配不同的加权值来调整被分配的流量。比如性能高的大型服务器可配置较大的加权值,而为性能较低的小型服务器设置较小的加权值。为了避免服务器因过载而崩溃,可为实际服务器指定最大连接阈值来避免该服务器过载。任何服务器可被指定为另一台服务器的备份服务器或溢出服务器,从而进一步保证了应用可用性。

非持续性算法(Non-Persistent):

一个客户端的不同的请求可能被分配到一个实际服务组中的不同的实服务器上进行处理。

主要有轮循算法、最少连接算法、响应速度算法等。

轮循算法(RoundRobin):

说明:每一次来自网络的请求轮流分配给内部中的每台服务器,从1至N然后重新开始。

举例:此种负载均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况;

最少连接算法(LeastConnection):

说明:客户端的每一次请求服务在服务器停留的时间都可能会有较大的差异,随着工作时间的加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,这样的结果并不会达到真正的负载均衡。最少连接数均衡算法对内部中有负载的每一台服务器都有一个数据记录,记录的内容是当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。

举例:此种负载均衡算法适合长时间处理的请求服务。

响应速度算法(ResponseTime):

说明:负载均衡设备对内部各服务器发出一个探测请求(例如Ping),然后根据内部中各服务器对探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。

举例:此种负载均衡算法能较好地反映服务器的当前运行状态,但最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时间,而不是客户端与服务器间的最快响应时间。

持续性算法(Persistent):

从一个特定的客户端发出的请求都被分配到一个实服务组中的同一个实服务器上进行处理。

主要包括的负载均衡算法有:

A.基于IP的算法

Persistent IP(pi):基于用户IP地址来选择服务器。

Hash IP(hi):基于用户IP地址的HASH值,来选择服务器

Consistent Hash IP(chi):基于列表IP来选择服务器

B.基于报头/请求的算法

HashHeader(hh):基于用户请求报中HTTP报头来选择服务器;

PersistentHostname(ph):基于用户请求报中HTTP报头的Hostname的HASH值,来选择服务器;

PersistentURL(pu):基于对URITag和值的静态对应关系来选择服务器。

SSLSessionID(sslsid):基于SSL会话ID来选择服务器。

C.基于Cookie的负载均衡算法

PersistentCookie(pc):选择服务器基于用户请求包用CookieName/Value的静态对应关系;

HashCookie(hc):选择服务器基于用户请求包用CookieName/Value的Hash值对应关系;

InsertCookie(ic):选择服务器基于负载均衡器向服务器响应包中插入Cookie;

Re-writeCookie(rc):选择服务器基于负载均衡器向服务器响应包中重写Cookie值。(必须为重写指定Cookie值的偏移量)

 

转自:http://network.51cto.com/art/201005/197952.htm

分享到:
评论
2 楼 美丽的小岛 2012-08-14  
缥缈孤鸿 写道

1 楼 缥缈孤鸿 2012-08-13  

相关推荐

    几种典型的负载均衡算法

    负载均衡算法广泛应用于各种领域,如 Web 服务器、数据库服务器、缓存服务器等。它可以提高系统的可扩展性、可用性和性能,并且可以减少服务器的负载,提高服务器的缓存命中率。 四、结论 负载均衡算法是提高系统...

    一种基于服务类型的web集群负载均衡算法

    服务器负载均衡的常用算法 负载均衡算法主要分为两大类:静态负载均衡技术和动态负载均衡技术。 - **静态负载均衡技术**:通常采用简单的循环调度方法,如基于DNS的轮询法。这种方法简单易行,但在用户规模增加和...

    基于CPU和内存利用率的负载均衡算法的研究.pdf

    "基于CPU和内存利用率的负载均衡算法的研究" 基于CPU和内存利用率的负载均衡算法的研究.pdf文章旨在解决当前采用的最少连接数算法无法解决因不同业务请求消耗资源差异大而导致的平均响应时间长的问题。作者提出了CM...

    一种改进的Linux集群系统负载均衡算法.pdf

    本文提出了一种改进的Linux集群系统负载均衡算法,该算法通过修改负载权值计算指标,动态反馈机制来收集各个服务器的实时负载信息,然后根据权值选择最优服务器来处理新的任务。该算法可以提高整个系统的响应能力和...

    F5负载均衡算法标准详解

    首先,应用交换技术包含四个核心组件:截获和检查流量、服务器监控健康检查、负载均衡算法以及会话保持。截获和检查流量允许系统识别和过滤无效或有害的数据包,确保网络安全。服务器监控和健康检查则实时评估服务器...

    几种负载均衡算法

    负载均衡算法是网络架构中用于优化资源分配的关键技术,它旨在通过智能地分配网络请求到多个服务器上来提高系统的效率、可靠性和响应速度。在给定的文件中,详细介绍了多种负载均衡算法,包括静态和动态两种类型。接...

    MMOG中的一种负载均衡算法

    ### MMOG中的一种负载均衡算法:综合分析与探讨 #### 引言 大规模多人在线角色扮演游戏(MMORPG)因其提供给玩家广阔的互动平台而受到广泛关注。这类游戏的特点在于支持成千上万的玩家同时在线,这无疑对服务器的...

    基于排队论综合指标评估的动态负载均衡算法.pdf

    "基于排队论综合指标评估的动态负载均衡算法" 这个动态负载均衡算法基于排队论综合指标评估,旨在解决互联网通信、计算机集群和云环境中的负载失衡问题。该算法的提出是为了解决传统负载均衡策略的缺陷,即以 CPU、...

    F5服务器负载均衡设置介绍

    F5服务器负载均衡设置介绍 F5服务器负载均衡设置是指通过F5服务器对多个服务器进行负载均衡,以提高服务器的可用性和性能。下面是简单的服务器负载均衡设置介绍: 一、网络设置 在进行负载均衡设置之前,需要首先...

    基于量子优化的云服务器负载均衡算法研究.pdf

    在云服务器负载均衡算法中,势能函数用来评估当前负载状态下服务器的势能分布,并据此来指导负载的重新分配,使系统达到能量较低的稳定状态。 4. 服务器任务调度策略:任务调度策略是负载均衡算法中负责资源分配的...

    基于P2P的MMOG中动态负载均衡算法

    ### 基于P2P的MMOG中动态负载均衡算法 #### 摘要与背景 在巨量多玩家在线游戏(MMOG)中,传统的客户端/服务器(C/S)架构面临着诸多挑战,其中最主要的两个问题是服务器瓶颈以及对玩家数量的限制。近年来,随着点...

    F5负载均衡算法详解

    动态负载均衡算法是根据当前网络流量和服务器状态来分配流量的,包括最少连接数、最快响应速度、观察方法、预测法、动态性能分配、动态服务器补充、服务质量、服务类型、规则模式等算法。最少的连接方式(Least ...

    论文研究-基于量子优化的云服务器负载均衡算法研究.pdf

    为了实现云计算系统的负载均衡,最大化系统的吞吐量,提出了一种基于量子优化的云服务器负载均衡算法。该算法将量子优化的方法应用到粒子聚类中,提出了基于量子理论的无监督的聚类方法,类似于量子与势能变化的原理...

    Web集群系统的负载均衡算法

    - **动态负载均衡算法**:与静态算法不同,动态负载均衡算法会根据后端服务器的实际负载情况动态地分配用户请求,以达到更均衡的效果。常用的动态负载均衡算法包括加权最小连接算法和最快连接算法等。这类算法更加...

    转:典型的几个负载均衡算法---SLB

    轮询是最简单的负载均衡算法,它将接收到的请求依次分配给不同的服务器。例如,如果有四台服务器,请求1会发送到服务器1,请求2到服务器2,以此类推。当达到服务器列表的末尾,再重新开始。这种方法简单且均匀地...

    计算机集群技术分析和负载均衡算法

    ### 计算机集群技术分析和负载均衡算法 随着信息技术的迅速发展,特别是网络技术的广泛应用,用户对计算机系统的性能提出了更高的要求。传统的通过提升单个处理器的能力来增强服务器性能的方式逐渐显得力不从心。...

Global site tag (gtag.js) - Google Analytics