Skip to content

负载均衡算法:轮询、最少连接与会话保持 ​

修订于 2026-10-12。本文不包含虚构的高峰故障或固定性能提升比例。

负载均衡把请求分发给多个后端。算法只是其中一环:健康检查、连接复用、超时、重试和后端容量往往同样影响结果。下面以 NGINX 文档中的 HTTP 上游方法说明。

方法决策依据适用时要留意
轮询依次分发请求,可配置权重请求耗时差别大时,分发数量均匀不代表负载均匀
最少连接选择当前活动连接较少的后端长连接与请求耗时会影响连接数的解释
IP 哈希依据客户端 IP 选择后端NAT 后多个用户可能共用 IP;后端变化也会影响映射

“最少连接一定最快”或“IP 哈希保证永不切换”都过于绝对。还要考虑异常后端被移除、权重配置和客户端流量分布。应用最好把会话状态放在可共享的存储中,减少对粘性会话的依赖。

上线前的检查 ​

  1. 明确后端是无状态服务还是需要会话绑定,评估请求耗时分布。
  2. 设置健康检查与超时,确认异常后端从流量中退出。
  3. 对重试请求限制次数和总截止时间;写操作要考虑幂等。
  4. 压测并观察各后端请求数、活动连接、错误率和延迟。
  5. 演练新增、下线和故障恢复,检查流量是否平稳转移。

参考资料 ​

梧桐和风 · 让复杂的技术讲得更清楚