几乎是瓷砖。在nginx后面有一个节点应用程序,当我重新启动应用程序时,我希望nginx延迟响应,并重试执行请求几次,中间有一些延迟。我找到的所有内容只会立即重试N次,但是当应用程序停止重启时,这显然没用,这是我的用例。有什么办法吗?我甚至不关心它是多么的hacky /如果它是,我只需要一个解决方案,不是启动应用程序的第二个实例,并在第二个实例开始时杀死第一个实例。
谢谢!
答案 0 :(得分:0)
您可以将同一服务器添加为多个上游服务器,并配置buffer
,proxy_next_upstream
和proxy_next_upstream_timeout
选项。 Reference
proxy_next_upstream_tries
但是,我建议您使用支持优雅重新加载/重启的 upstream node_servers {
server 127.0.0.1:12005;
server 127.0.0.1:12005;
}
...
proxy_next_upstream http_502;
proxy_next_upstream_timeout 60;
proxy_next_upstream_tries 3;
等进程管理器。如果您在集群模式下为nodejs服务器使用多个CPU,则它们是相关的。