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

时间:2016-01-25 18:38:12

标签: ruby-on-rails ruby nginx unicorn

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

1 个答案:

答案 0 :(得分:1)

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

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

如果应用程序在第一次提出请求时没有及时正确响应,则很有可能无法在后续请求中成功响应。建议使用预期方式的upstream模块:使用两个唯一的应用服务器,这些服务器可能通过后端资源(如数据库)共享状态。