轮询调度是Nginx最轻量的流量分发方式,开箱即用、无需额外模块或配置关键字,仅需在upstream中列出后端地址即可生效;配合max_fails和fail_timeout可实现被动健康检查,故障节点自动剔除并恢复,适用于性能相近、无状态的后端服务。

轮询调度是 Nginx 最轻量、最直接的流量分发方式,不依赖额外模块或运行时状态计算,天然适合对后端流量做“粗粒度但确定性”的控制。
配置零门槛,开箱即用
只要在 upstream 块中列出后端地址,Nginx 就自动启用轮询,无需声明 round-robin 或任何策略关键字。这种“默认即生效”的设计大幅降低初期接入成本。
- 不需要安装额外模块(如
nginx-plus或第三方健康检查插件) - 不依赖外部监控系统或实时指标采集
- 重启后策略立即生效,无缓存或状态同步延迟
流量比例可预期、可推算
在所有服务器权重均为 1 的前提下,N 台后端的请求分配比例严格为 1:N,长期统计偏差极小。这对容量规划和压测验证非常友好。
- 10 次请求 → 理论上每台各得 3 或 4 次(N=3 时)
- 增减一台服务器,流量会自动按新总数重新均分,无需调整其他参数
- 配合
weight可快速实现灰度比例(如 8:2、7:2:1),仍保持线性可读性
故障隔离简单可控
轮询本身不剔除节点,但只需加两行配置,就能实现被动健康检查,让异常实例短暂退出调度队列,不影响整体节奏。
-
server 192.168.1.10 max_fails=3 fail_timeout=30s;—— 连续失败 3 次后,30 秒内不再派发新请求 - 恢复后自动回归轮询序列,无需人工干预
- 不会因单点抖动引发雪崩式重试或连接堆积
适合流量控制的典型业务场景
当后端服务满足“性能接近、无状态、响应快”三个条件时,轮询就是最稳妥的流量控制器。
- 静态资源 CDN 回源集群:图片、JS、CSS 请求轻量且无上下文依赖
- Token 鉴权的 API 网关下游:每次调用独立,session 存 Redis,不依赖本地状态
- 内部低频管理接口(如配置下发、日志查询):QPS 通常低于 100,机器配置统一
- 新服务上线初期:先用轮询观察各实例基础承载力,再决定是否升级为 least_conn 或自定义策略
不复杂但容易忽略


















