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

标签 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。目的是将所有流量定向到第一台服务器,作为临时第二个倒下了。然而,在远少于 20 亿次请求后,用户收到错误,因为他们被定向到第二台服务器。

最佳答案

您应该针对该用法使用健康检查,而不是重量。

你有两个选择:

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

    使用 max_failsfail_timeout 甚至 backup 指令。

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

  2. 使用像 nginx_upstream_check_module 这样的社区模块

    此模块启用第 7 层健康检查,这是推荐的方式。

关于nginx - 我可以在 NGINX 上游服务器配置中为权重设置的最大值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558281/

相关文章:

nginx - 使用 DigitalOcean 在 Kubernetes 集群上为我的 Nginx-Ingress 生成通配符证书

redirect - Nginx 将 HTTP 重定向到 HTTPS,将 WWW 重定向到非 WWW

logging - Apache2 具有多个环境集的条件日志记录

asp.net-identity - 将 ASP.NET Identity 与负载平衡器一起使用

java - 使用复制缓存与 LB 粘性 session

javascript - 如何在 Node.js Nginx 中允许 http 请求?

html - 使用 Django 进行静态文件版本控制

.net - ClickOnce 应用程序的不同 app.config

没有更新站点的 Eclipse?

HADOOP HDFS不平衡问题