5大负载均衡策略详解(图文全面总结)

5大负载均衡策略详解(图文全面总结)

负载均衡在大型网站,中间件,以及分布式架构扮演着至关重要的角色,下面详解常见5大负载均衡策略@mikechen

在面对高并发请求,或流量波动的情况下,负载均衡可以确保服务器资源被充分利用,避免因某个节点负载过高,而导致性能下降或系统崩溃。

如下图所示:

5大负载均衡策略详解(图文全面总结)

在分布式系统中,负载均衡是确保各个节点协同工作、均衡负载的重要手段,使得系统更具弹性和可扩展性。

以下是五种常见的负载均衡策略:

 

1.轮询(Round Robin)

负载均衡轮询算法基于简单的循环机制,将请求按顺序轮流分配给可用的服务器,确保每个服务器都有机会处理请求,如下图所示:

5大负载均衡策略详解(图文全面总结)

优点:

  • 均匀性:请求在服务器之间分配是均匀的,按照轮询顺序循环分发。
  • 简单性:实现简单,无需复杂的算法。

缺点:

无法考虑服务器实际负载:不考虑服务器当前的实际负载情况,可能导致性能差的服务器负载过重。

适用场景:

适用于服务器性能相近,且不需要考虑实时负载状态的场景,比如:简单的Web应用服务。

 

2.IP 哈希(IP Hash)

负载均衡IP哈希算法,根据客户端IP地址进行哈希计算,将相同IP的请求映射到同一台服务器上,如下图所示:

5大负载均衡策略详解(图文全面总结)

思想:

IP哈希算法的核心思想是,通过对客户端IP进行哈希计算,将同一IP的请求映射到相同的服务器。

这种思想保证了相同用户的请求总是被分配到同一台服务器上,实现了粘性会话。

优点:

保持用户状态: 适用于需要维护用户状态的应用,具有粘性会话特性。

缺点:

  • 不适用于动态环境: 无法应对服务器动态扩展,可能导致不均匀负载。
  • 单一故障点: 负载均衡设备是单点时存在单一故障点风险。

适用场景:

适用于相同 IP 的客户端。

 

3.最少连接(Least Connection)

最少连接,是将请求分配给当前连接数最少的服务器。

如下图所示:

5大负载均衡策略详解(图文全面总结)

思想:

最少连接算法的核心思想是根据服务器当前的连接数,选择连接数最少的服务器进行负载均衡,以达到资源占用相对均匀的效果。

优点:

避免过载: 能够根据服务器当前连接数分配请求,避免过载。

缺点:

连接资源不均: 可能因为某个连接占用资源较多而导致性能下降。

适用场景:

适用于服务器资源占用相对均匀的场景,避免过载。

 

3.加权轮询(Weighted Round Robin)

在轮询算法的基础上引入权重值,按照权重比例分配请求。

如下图所示:

5大负载均衡策略详解(图文全面总结)

思想:

加权轮询算法的核心思想是通过为每台服务器分配权重,调整服务器的负载比例,实现对不同服务器性能的灵活调整。

服务器的性能越高,权重值设置得越大,分配到的请求就越多。

优点:

权重调优:可以根据服务器性能差异进行调优,提高高性能服务器的负载。

灵活性: 能够更灵活地适应不同服务器的性能。

缺点:

无法动态适应: 无法动态适应服务器性能的变化,需要手动配置权重。

适用场景:

适用于服务器性能差异较大的场景,能够更好地平衡负载。

 

5.随机策略

负载均衡随机策略将请求随机分配给服务器,适用于负载均衡要求不高的场景。

如下图所示:

5大负载均衡策略详解(图文全面总结)

思想:

随机策略的核心思想,是通过随机选择目标服务器来分发请求,避免了过于规律的分配方式,使得负载更为均匀。

优点:

简单: 是一种简单的负载均衡算法,容易实现和理解。

缺点: 可能导致不均匀分配。

适用场景:

适用于不要求严格负载均衡,而且要求简单实现的场景,如:一些简单的测试环境。

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧