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

负载均衡是大型架构核心,下面我详解负载均衡策略@mikechen

1. Round Robin:轮询
轮询是最经典的方式。

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

假设有3台服务器:

Request 1 → Server1
Request 2 → Server2
Request 3 → Server3
Request 4 → Server1
Request 5 → Server2

它的优点是简单、均衡。

如果后端服务器配置相近,而且请求处理时间差不多,轮询通常就是最合适的方案。

2. Weight:权重
如果服务器性能不同,可以设置不同权重:

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

upstream backend {
    server 192.168.1.10 weight=5;
    server 192.168.1.11 weight=3;
    server 192.168.1.12 weight=2;
}

可以理解为:

Server1:50%
Server2:30%
Server3:20%

官方文档说明,weight 会参与负载均衡决策;在轮询场景中,可以让性能更强的服务器承担更多请求。

3. IP Hash
IP Hash根据客户端IP选择后端服务器。

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

Client IP
    ↓
  Hash
    ↓
Server

这样,同一个客户端通常会被分配到同一个后端节点。

它适合需要一定Session粘性的场景。

不过现代架构更推荐把Session放到Redis等共享存储中,而不是过度依赖IP Hash。

4. Least Connections:最少连接
如果不同请求的处理时间差异很大,单纯轮询可能并不均衡。

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

例如:

Server1:100个连接
Server2:20个连接
Server3:10个连接

新请求更适合进入Server3。

Nginx的 least_conn 会将请求优先分配给当前活跃连接较少的服务器。

官方文档也明确指出,这种方式尤其适合部分请求处理时间更长的场景。

陈睿|mikechen

10年+大厂架构经验,资深技术专家,就职于阿里等一线大厂。

评论交流
    说说你的看法