Nginx负载均衡策略包括以下类型:

  1. 轮询(Round Robin)

    • 默认策略,按顺序将请求分发到后端服务器

    • 配置示例:

      upstream backend {
          server 10.0.0.1;
          server 10.0.0.2;
      }
  2. 加权轮询(Weighted Round Robin)

    • 根据服务器权重分配流量

    • 配置示例:

      upstream backend {
          server 10.0.0.1 weight=3;
          server 10.0.0.2 weight=2;
      }
  3. IP哈希(IP Hash)

    • 根据客户端IP计算哈希值固定分配请求

    • 保持会话一致性

    • 配置示例:

      upstream backend {
          ip_hash;
          server 10.0.0.1;
          server 10.0.0.2;
      }
  4. 最少连接(Least Connections)

    • 优先分配请求到当前连接数最少的服务器

    • 配置示例:

      upstream backend {
          least_conn;
          server 10.0.0.1;
          server 10.0.0.2;
      }
  5. 响应时间策略(第三方模块)

    • 根据服务器响应时间动态分配

    • 需安装nginx-upstream-fair模块

附加参数:

  • max_fails:允许失败次数

  • fail_timeout:故障服务器剔除时间

  • backup:标记备用服务器

选择依据:

  • 无状态服务:轮询/加权轮询

  • 会话保持需求:IP哈希

  • 长连接场景:最少连接

  • 动态负载:响应时间策略

Nginx负载均衡策略详解

本篇文章内容来源于:Nginx负载均衡策略详解