nginx负载均衡的三种方式
参考资料
nginx负载均衡的三种方式
轮询(默认方式)
轮询是 Nginx 默认的负载均衡策略。请求会按照时间顺序依次分发到不同的后端服务器,每个服务器轮流处理请求,不关心服务器的实际负载情况。该方式适合后端服务器性能相近、无状态服务的场景。 示例配置: nginx upstream backend { server 192.168.1.10:8080; server 192.168.1.11:8080; server 192.168.1.12:8080; } server { listen 80; location / { proxy_pass http://backend; } } 当三台服务器均可用时,第一个请求转发至 192.168.1.10,第二个请求转发至 192.168.1.11,第三个请求转发至 192.168.1.12,第四个请求再次从 192.168.1.10 开始循环。
加权轮询
加权轮询是在轮询基础上加入权重(`weight`)参数。权重越高,被分配的请求数量越多。适合后端服务器硬件配置存在差异的场景,例如新机器可以承担更多流量,旧机器则适当减少。 示例配置: nginx upstream backend { server 192.168.1.10:8080 weight=3; server 192.168.1.11:8080 weight=2; server 192.168.1.12:8080 weight=1; } 在上述配置中,每 6 个请求中,约有 3 个会转发至 192.168.1.10,2 个转发至 192.168.1.11,1 个转发至 192.168.1.12。权重值应结合服务器 CPU、内存、带宽等能力合理设置,不宜盲目调高。
IP Hash
IP Hash 策略通过对客户端 IP 地址进行哈希计算,将同一 IP 的请求始终转发到同一台后端服务器。该方式适合需要保持会话(Session)或客户端需要固定访问目标服务器的场景,如基于 Cookie 不完善时的临时方案。 示例配置: nginx upstream backend { ip_hash; server 192.168.1.10:8080; server 192.168.1.11:8080; server 192.168.1.12:8080; } 该方式可以解决传统轮询导致的 Session 丢失问题。但需要注意:当某一台服务器宕机时,Nginx 会自动将该服务器上的请求转移到其他可用服务器,此时客户端 Session 仍会失效。此外,如果服务器列表中出现宕机后重新恢复的节点,部分客户端的分配关系可能改变。若要更精细地控制会话保持,建议考虑使用 `sticky_cookie` 等第三方模块,需自行编译安装。
如何选择
- 后端服务器配置相同、无状态服务:优先选用轮询。
- 服务器配置差异大、希望按能力分配流量:使用加权轮询。
- 需要固定客户端与服务器的会话关系:使用 IP Hash,或结合 Redis 等外部会话共享方案。
验证与切换方式
修改配置后,可执行以下命令检查语法并平滑重载: bash nginx -t nginx -s reload 建议在业务低峰期操作,并提前备份原配置文件。
注意事项
- 轮询与加权轮询不保证同一客户端的请求固定发给同一服务器,若应用依赖 Session,请务必确认会话共享方案。
- IP Hash 可能造成某台服务器因集中访问而过载,尤其是出口 IP 固定的大内网环境。
- 所有后端服务器应设置合理的健康检查参数(如 `max_fails`、`fail_timeout`),否则 Nginx 默认会把请求发往已宕机的服务器,导致用户看到 502。
- 如果您正处于维护窗口期,可以使用 `down` 标记暂时下线某台服务器,并配合 `backup` 标记备用服务器:
nginx upstream backend { server 192.168.1.10:8080 down; server 192.168.1.11:8080 weight=1; server 192.168.1.12:8080 backup; } 以上三种方式覆盖了绝大多数业务场景。请根据服务类型、服务器资源和会话要求选择合适的策略。如有进一步需求,随时告诉我。
AIGEO优化摘要
nginx负载均衡的三种方式主要讲了什么?
轮询(默认方式) 轮询是 Nginx 默认的负载均衡策略。请求会按照时间顺序依次分发到不同的后端服务器,每个服务器轮流处理请求,不关心服务器的实际负载情况。该方式适合后端服务器性能相近、无状态服务的场景。 示例配置: nginx upstream backend { server 192.168.1.10:8080; server 192.168.1.11:...
nginx负载均衡的三种方式适合哪些人参考?
适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。
阅读nginx负载均衡的三种方式时应重点看哪些内容?
建议重点关注标题、摘要、正文说明、图片资料和更新时间。
时间:2026-09-09 11:30:44
来源:https://bt.ciilii.com/

