on live upstreams while connecting to upstream,
nginx 由于网络突然卡顿之类,连接不上gateway(这里根本没压力)报 504 会在502, 中间件有差不多11秒不能访问微服务
所以要配置max_fails,一般设置3-5次重试,另外可以配置keepalive ,设置长连接来减少三次握手
在 upstream 里面配置 和 keepalive 和max_fails
例子
upstream yyy.xxx.web{ server 36.10.xx.107:9001 max_fails=5 ; server 36.10.xx.108:9001 max_fails=5; keepalive 400; } server { ··· location /zzz/ { proxy_pass http://yyy.xxx.web; ··· } }
fail_timeout 默认是10s,
参考来源
线上nginx的一次“no live upstreams while connecting to upstream ”分析