NGINX心跳检测
upstream springboot { server 10.3.73.223:8080 max_fails=2 fail_timeout=30s; server 10.3.73.223:8090 max_fails=2 fail_timeout=30s; } server { listen 80; server_name localhost; location /test { proxy_pass http://springboot; } }
在30s内(fail_timeout,默认值为10s),NGINX与中间件通讯失败2次(max_fails,默认值为1,设置为0则认为服务端一直可用),则认为中间件不可用
不可用中间件在30s内与NGINX通讯成功2次,则认为中间件恢复。
当upstream中的一台中间件响应失败时, Nginx会将请求转发给下一台中间件,直到所有的中间件都发送过该请求,如果此时依然无法获得成功的响应,客户端将收到最后一台中间件返回的响应结果。