`

几种负载均衡算法

阅读更多
几种负载均衡算法
本地流量管理技术主要有以下几种负载均衡算法:
静态负载均衡算法包括:轮询,比率,优先权
动态负载均衡算法包括: 最少连接数,最快响应速度,观察方法,预测法,动态性能分配,动态服务器补充,服务质量,服务类型,规则模式。
静态负载均衡算法
◆轮询(Round Robin):顺序循环将请求一次顺序循环地连接每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从顺序循环队列中拿出,不参加下一次的轮询,直到其恢复正常。
◆比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。
◆优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG-IP 用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG-IP 才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。
动态负载均衡算法
◆最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配, 直到其恢复正常。
◆最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
◆观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。
◆预测模式(Predictive):BIG-IP利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被BIG-IP 进行检测)
◆动态性能分配(Dynamic Ratio-APM):BIG-IP 收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。
◆动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。
◆服务质量(QoS):按不同的优先级对数据流进行分配。
◆服务类型(ToS): 按不同的服务类型(在Type of Field中标识)负载均衡对数据流进行分配。
◆规则模式:针对不同的数据流设置导向规则,用户可自行。

负载均衡对应本地的应用交换,大家可以通过对上述负载均衡算法的理解, 结合实际的需求来采用合适你的负载均衡算法,我们常用到的一般是最少连接数、最快反应、或者轮询,决定选用那种算法, 主要还是要结合实际的需求。


服务器负载均衡算法
有很多(持续性的和非持续性的),包括轮循算法、最少连接算法、响应时间算法、散列算法、最少连接失误算法,链路带宽算法等等。此外实际服务器(Real Server)可以被分配不同的加权值来调整被分配的流量。比如性能高的大型服务器可配置较大的加权值,而为性能较低的小型服务器设置较小的加权值。为了避免服务器因过载而崩溃,可为实际服务器指定最大连接阈值来避免该服务器过载。任何服务器可被指定为另一台服务器的备份服务器或溢出服务器,从而进一步保证了应用可用性。     
非持续性算法(Non-Persistent):一个客户端的不同的请求可能被分配到一个实际服务组中的不同的实服务器上进行处理。主要有轮循算法、最少连接算法、响应速度算法等。   
轮循算法(Round Robin):说明:    每一次来自网络的请求轮流分配给内部中的每台服务器,从1至N然后重新开始。举例:    此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况;   
最少连接算法(Least Connection):说明:    客户端的每一次请求服务在服务器停留的时间都可能会有较大的差异,随着工作时间的加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,这样的结果并不会达到真正的负载均衡。最少连接数均衡算法对内部中有负载的每一台服务器都有一个数据记录,记录的内容是当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。
此种负载均衡算法适合长时间处理的请求服务。    
响应速度算法(Response Time):说明:    负载均衡设备对内部各服务器发出一个探测请求(例如Ping),然后根据内部中各服务器对探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。举例:    此种均衡算法能较好地反映服务器的当前运行状态,但最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时间,而不是客户端与服务器间的最快响应时间。  
持续性算法(Persistent):    从一个特定的客户端发出的请求都被分配到一个实服务组中的同一个实服务器上进行处理。主要包括:A.基于IP的算法-Persistent IP (pi):基于用户IP地址来选择服务器。-Hash IP (hi) :基于用户IP地址的HASH值,来选择服务器-Consistent Hash IP (chi):B.基于报头/请求的算法-Hash Header (hh):基于用户请求报中HTTP报头来选择服务器;-Persistent Hostname (ph) :基于用户请求报中HTTP报头的Hostname的HASH值,来选择服务器;-Persistent URL (pu):基于对URI Tag 和值的静态对应关系来选择服务器。-SSL Session ID (sslsid):基于SSL会话ID来选择服务器。C.基于Cookie的算法-Persistent Cookie (pc) : 选择服务器基于用户请求包用Cookie Name / Value 的静态对应关系; -Hash Cookie (hc) :选择服务器基于用户请求包用Cookie Name / Value 的Hash 值对应关系;-Insert Cookie (ic) :选择服务器基于负载均衡器 向服务器响应包中插入Cookie;-Re-write Cookie (rc):选择服务器基于负载均衡器向服务器响应包中重写Cookie值。(必须为重写指定Cookie值的偏移量)

分享到:
评论

相关推荐

    几种负载均衡算法.pdf

    以下是几种常见的负载均衡算法的详细说明: 1. **静态负载均衡算法**: - **轮询(Round Robin)**:这是一种最基础的负载均衡策略,请求按照顺序依次分配给每个服务器。如果某个服务器出现故障,它会被暂时排除,...

    几种典型的负载均衡算法

    常见的负载均衡算法有很多,下面将对几种典型的负载均衡算法进行介绍。 一、HASH 算法 HASH 算法是一种简单的负载均衡算法,它将请求的 ID 值进行 HASH 操作,然后将其映射到对应的服务器上。在 Baidu 的服务中,...

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

    为了克服传统MMOG中存在的负载不均问题,研究者提出了一种基于P2P的动态负载均衡算法。该算法的核心思想是通过在游戏运行过程中动态地调整各节点间的负载,以达到整体负载均衡的目标。具体来说: - **区域划分**:...

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

    本文介绍了几种常见的负载均衡算法,并重点讨论了一种改进的动态反馈负载均衡算法。该算法通过实时监控服务器的性能指标,实现了对用户请求的智能调度,有效提高了集群的整体性能。未来的研究方向可以进一步探索如何...

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

    在本文中,我们将深入探讨几种典型的负载均衡算法,特别是在SLB(Software Load Balancer,软件负载均衡器)中的应用。 1. **轮询(Round Robin)**: 轮询是最简单的负载均衡算法,它将接收到的请求依次分配给...

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

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

    Dubbo服务集群的负载均衡算法

    【Dubbo服务集群的负载均衡算法】是分布式系统中用于优化资源分配的重要机制,它确保了请求能够均匀地分摊到各个服务提供者上,从而提高系统的稳定性和响应效率。Dubbo作为一款流行的Java微服务框架,内置了四种负载...

    几种简单的负载均衡算法及java实现1

    负载均衡算法及Java实现 负载均衡是指通过某种负载分担技术,将外部发送来的请求均匀分配到...以上是几种简单的负载均衡算法及Java实现,通过这些算法,可以平均分配客户请求到服务器阵列,解决大量并发访问服务问题。

    分布式散列表中的负载均衡算法研究.pdf

    随着云计算和分布式系统技术的发展,未来负载均衡算法的研究方向可能会集中在以下几个方面: 1. 自适应负载均衡:随着网络条件和节点状态的变化,负载均衡算法需要能够自我适应和调整,以实现最优的负载分配。 2. ...

    2020-2-27晚上资料(手写负载均衡算法).zip

    手写负载均衡算法可能涉及其中一种或多种策略的实现。 3. **编程实现**:手写代码可能涉及到常用的编程语言,如Python、Java或Go,用于实现负载均衡器。代码结构可能包括服务器端接收请求、选择目标节点、分配任务...

    云计算联盟资源负载均衡算法研究.pdf

    云计算联盟资源负载均衡算法研究的知识点: 1. 云计算的定义与发展 云计算是一种基于互联网的计算模式,它通过互联网提供按需的计算资源和数据存储,用户无需了解云后端的基础设施即可获取相应的服务。随着技术的...

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

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

    网络处理器负载均衡算法综述.pdf

    《网络处理器负载均衡算法综述》这篇文章主要探讨了在网络处理器中如何有效地实现多个处理单元的负载均衡,以提升网络性能和处理效率。网络处理器是一种专为处理网络数据包设计的微处理器,它拥有比传统CPU更高的...

    Linux环境下负载均衡集群的实现.pdf

    3. 负载均衡算法:选择合适的负载均衡算法,例如基于权值的负载均衡算法。 4. 集群配置:配置 Tomcat 和 Apache 服务器的集群,确保它们可以合理分配业务量。 作者还讨论了负载均衡集群的优点和缺点。负载均衡集群...

    海量小数据分布式聚类优化与负载均衡算法.pdf

    实验结果表明,“分布式聚类算法和负载均衡算法能有效提升Hadoop分布式文件系统对海量传感小数据的读写性能”。Hadoop分布式文件系统(HDFS)因其高容错性和可扩展性被广泛应用于大数据处理中。这里的实验是通过比较...

Global site tag (gtag.js) - Google Analytics