Nginx 负载均衡策略详解


一、基础内置策略(最常用)

表格

|----------------------|----------------------------------------------------------------------------|---------------------------------------|----------------------|
| 策略 | 配置示例 | 核心原理 | 适用场景 |
| 轮询(默认) | upstream backend { server 192.168.1.1; server 192.168.1.2; } | 按时间顺序,依次将请求分配给后端服务器;故障节点会被自动剔除。 | 后端服务器性能相近、无状态短请求场景。 |
| 加权轮询 | server 192.168.1.1 weight=3; server 192.168.1.2 weight=1; | 在轮询基础上,通过 weight 配置分配比例,权重越高接收请求越多。 | 后端服务器性能不均,需要差异化分配负载。 |
| ip_hash | upstream backend { ip_hash; server 192.168.1.1; server 192.168.1.2; } | 基于客户端 IP 哈希计算,将同一 IP 的请求固定分配到同一后端服务器。 | 需要会话保持的场景(如登录态、购物车)。 |
| least_conn(最少连接) | upstream backend { least_conn; server 192.168.1.1; server 192.168.1.2; } | 将请求分配给当前活跃连接数最少的后端服务器。 | 后端请求耗时差异大,需要避免服务器过载。 |


二、其他常用策略

  1. 通用哈希(hash) 可自定义哈希键(如请求 URL、请求参数),实现基于请求内容的会话保持,比 ip_hash 更灵活。
  2. **一致性哈希(consistent_hash)**适合缓存服务场景,后端节点增减时,仅少量缓存失效,大幅降低缓存穿透风险。
  3. **least_time(Nginx Plus 支持)**优先分配给响应时间最短的后端服务器,适合对延迟敏感的业务场景。

三、关键补充说明

  • 权重策略本质 :是轮询的增强版,并非独立算法,配置时直接在 server 指令后加 weight 参数即可。
  • ip_hash 注意事项 :后端服务器故障剔除后,请求会重新哈希分配;若需永久会话保持,可结合 sticky 第三方模块。
  • 故障容错:所有内置策略都支持健康检查,故障节点会被自动从分发列表中移除,恢复后自动加入。
相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB6 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode7 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220708 天前
如何搭建本地yum源(上)
运维
ping某9 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树8811 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql