设置 NGINX 中上游服务器的最大故障数

设置 NGINX 中上游服务器的最大故障数

我使用 Tornado 构建了一个应用程序,它在两台 16 核服务器上运行,前端服务器启用了 Nginx。Tornado 的部署指南建议每个 CPU 运行一个应用程序实例,因此我总共运行了 32 个应用程序实例。我使用
Nginx 时遇到的问题是,如果应用服务器出现问题导致所有实例不可用(导致连接超时),NGINX 会检查这 32 个实例中的每一个,然后返回错误。连接超时设置为 5 秒,因此 NGINX 实际向用户发送失败消息之前需要超过 2 分 30 秒。
有没有办法限制 NGINX 在向用户发送错误之前重试的服务器数量?也就是说,它会检查两台服务器然后放​​弃,而不是循环检查所有服务器?

答案1

您可以通过在每个后端服务器上设置 nginx 来添加另一层代理,这样前端的上游部分将只列出两个服务器,而不是 32 个。

相关内容