Nginx upstream用起来很方便,根据配置转发请求如:
upstream your-server {
server 10.65.11.***:9090 weight=1 max_fails=3 fail_timeout=10s;
server 10.65.11.***:9090 weight=1 max_fails=3 fail_timeout=10s;
server 10.65.11.***:9090 weight=1 max_fails=3 fail_timeout=10s;
server 10.65.11.***:9090 weight=1 max_fails=3 fail_timeout=10s;
keepalive 2000;
}
通过配置上游服务器的max_fails 和fail_timeout,来指定每个上游服务器,当fail_timeout时间内失败了max_fails次请求,则认为该上游服务器不可用/不存活,然后会摘掉该上游服务器,fail_timeout时间后会再次将该服务器加入到存活上游服务器列表进行重试.
在nginx的配置文件中,proxy_next_upstream项定义了什么情况下进行重试,官网文档中给出的说明如下: