NGINX 是否可以向 Unicorn 重新发送请求?

Is it possible for NGINX resend request to Unicorn?

我想知道如果我的 NGINX 向 Unicorn 发送请求并且 NGINX 没有收到答复,NGINX 是否可以再次向 Unicorn 发送请求?

通常不,不。我可以想到一个解决方法,但我确定我会建议它。使用 Nginx upstream 模块,您可以定义多个上游后端。 Nginx 无法知道列出的不同上游服务器是否实际上是同一个后端,它也不关心。上游模块的文档说:“如果在与服务器通信期间发生错误,请求将传递给下一个服务器。”

因此,如果您安排让您的应用程序在两个不同的地址(套接字、域名、IP 或端口)可用,那么您可以将 Nginx 设置为使用 upstream 模块来尝试两次相同的请求。

如果应用程序在第一次发出请求时没有及时正确响应,它很可能无法成功响应 follow-up 请求。建议以预期的方式使用 upstream 模块:使用两个唯一的应用程序服务器,它们可能通过数据库等后端资源共享状态。