uwsgi_next_upstream_tries

'uwsgi_next_upstream_tries' 指令定义了在 uWSGI 模式下与原始上游服务器通信发生错误时 NGINX 将尝试连接的上游服务器数量。 — NGINX HTTP Core

uwsgi_next_upstream_tries
httpserverlocation
语法uwsgi_next_upstream_tries number;
默认值0
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

'uwsgi_next_upstream_tries' 指令用于指定在请求失败之前 NGINX 应尝试联系备用上游服务器的次数。该指令与 uWSGI 模块配合使用,适用于 'http'、'server' 和 'location' 上下文。当 NGINX 遇到与指定上游服务器连接问题时——例如服务器宕机或返回 HTTP 错误码——它将尝试连接其可用服务器列表中的下一个上游服务器,最多尝试至该指令指定的次数。 默认情况下,该指令的值为 0,这意味着当与上游服务器连接失败时 NGINX 不会进行任何重试。将此指令设置为大于零的值(例如 1、2 或更多)可以使 NGINX 更优雅地处理临时服务器问题,允许在不直接使请求失败的情况下实现潜在的服务恢复。这可以在上游服务器出现瞬时错误时增强应用的弹性。 提供的值必须为正整数,表示对定义的上游服务器进行重试的最大次数。用户在使用此指令时应谨慎,因为过多的重试可能导致在上游服务器持续失败时增加延迟和资源消耗。 此外,监控上游服务器的健康状况并考虑使用健康检查至关重要,以确保 NGINX 仅将流量路由到可用且响应的服务器。

配置示例

upstream myapp {
    server backend1.example.com;
    server backend2.example.com;
}

location / {
    uwsgi_pass myapp;
    uwsgi_next_upstream_tries 2;
}

确保 'uwsgi_next_upstream_tries' 的值为正整数;否则,NGINX 将不会进行重试。

过多的重试可能导致延迟增加;请密切监控上游服务器的性能。