负载均衡的算法是什么?负载均衡建立在现有网络结构上,它提供了一种廉价有效的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的弹性性和可用性。下面我们介绍几种负载均衡的算法。
1. 轮询
负载均衡系统接收到请求后,按照顺序轮流分配给服务器。这种方式非常简单,只管按顺序分配,至于服务器当前负载情况、硬件能力等都不关心,只要服务器还能工作,就可以分配,除非服务器挂了。
2. 加权轮询
是轮询方式的一种改进,轮询方式是无差别分配,但实际服务器租用的处理能力是有差异的,所以需要区别对待。为服务器设置权值,权值高的就多分配点。
3. 负载最低优先
将任务分配给当前负载最低的服务器。假如 LVS 可以依据“连接数”判断服务器状态,NGINX 可以依据“请求数”来判断。这种方式比轮询高级很多,可以感知服务器的状态了,但其复杂度也大大提高了,要收集统计服务器的负载信息。
4. 性能最优
优先将任务分配给处理速度最快的服务器,来达到最快响应客户端的目的。此方式也是感知服务器的状态,标准是响应时间。
需要收集分析服务器的响应时间,这个工作本身消耗也不小,所以采用采样的方式,不统计所有任务的响应时间,统计一个周期(假如 10秒/1分钟/5分钟)内的状态。优缺点与负载最低优先相同。
5. Hash
对请求中的关键信息(如IP)进行hash计算,hash值相同的请求分配到同一台服务器,假如业务中希望同一用户的请求都由同一台服务器来处理。
以上是关于负载均衡的算法介绍,融亿云负载均衡EasySLB服务,即在多台云主机间实现应用程序流量的自动分配。可实现故障自动切换,提高业务可用性,并提高资源利用率。
负载均衡业务开通链接