Nginx作为负载平衡器 – 没有响应的请求会发生什么?

我有2个PHP应用程序的VPS服务器都使用相同的数据库(在第三台服务器上)。 我想有第四个服务器,只有nginx作为负载平衡器,试图“分”在两个stream量。

我的问题是 – 如果nginx收到一个请求,试图将其转发给其中一台服务器,但服务器没有响应,会发生什么情况。 它会尝试将其发送到第二台服务器吗?

重要的是我没有一个单一的丢失的请求,所以如果Server1失败,Server2将立即收到相同的请求。 这是如何nginx的作品? 如果没有,我可以用nginx来做吗,或者我应该尝试使用另一种解决scheme?

问候。

您可以设置proxy_next_upstream参数来设置nginx将在另一个上游代理服务器上重试请求时的错误条件。

例如:

 proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;