我使用nginx上游在3节点js进程上调度请求,我具有以下配置:
(*(((struct headname *)((head)->tqh_last))->tqh_last))
这些节点js节点显示它们在哪个端口上运行,当我依次启动4请求时,我可以看到以下内容:
upstream testupstream {
least_conn;
server 127.0.0.1:11111 max_fails=1 fail_timeout=86400;
server 127.0.0.1:11112 max_fails=1 fail_timeout=86400;
server 127.0.0.1:11113 max_fails=1 fail_timeout=86400;
}
server {
listen 80;
server_name yolo.com;
location / {
proxy_set_header Host yolo.com;
proxy_next_upstream timeout http_502 http_503 http_504;
proxy_pass http://testupstream;
}
}
当我杀死一个节点js节点(第一个节点)时,此节点的禁用时间为86400 s:
Port 11111 : HTTP 200
Port 11112 : HTTP 200
Port 11113 : HTTP 200
Port 11111 : HTTP 200
是否可以通过在另一个上游节点上重试请求来防止502错误?如果一个节点不可达,我希望nginx将请求重新路由到下一个上游(在同一请求上):
HTTP 502
Port 11112 : HTTP 200
Port 11113 : HTTP 200
Port 11112 : HTTP 200
Port 11113 : HTTP 200
预先感谢