在NGINX上游服务器配置中,我可以为权重设置的最大值是多少?

时间:2017-03-02 14:37:29

标签: nginx configuration load-balancing

在配置具有多个服务器条目的NGINX时,可以配置循环算法来分配负载。 NGINX提供重量来指示重量的分配方式。例如:

upstream backend {
 server backend1.example.com       weight=5;
 server backend2.example.com:8080  weight=1;

}
server {
    location / {
        proxy_pass http://backend;
    }
}

问题是:可分配给体重的最大值是多少?

我的问题是我遇到了一个包含2个服务器条目的配置,其中一个的权重值为2000000000(20亿),另一个的值为1.目的是将所有流量定向到第一个服务器上作为临时第二个是失败的。但是,在远低于2 bil的请求之后,用户会收到错误,因为它们被定向到第二台服务器。

1 个答案:

答案 0 :(得分:1)

您应该使用健康检查来确定该用法,而不是重量。

您有两个选择:

  1. 使用内置的nginx第3层健康检查:

    Using max_failsfail_timeout甚至backup指令。

    backup:将服务器标记为备份服务器。当主服务器不可用时,它将被传递请求。

  2. 使用nginx_upstream_check_module

    等社区模块

    此模块启用第7层运行状况检查,这是推荐的方法。