ngx_http_upstream_module模块中的server指令
语法: server address [parameters];默认值: ―上下文: upstream 范例如下: upstream name { server 10.19.1.110:8089 max_fails=1 fail_timeout=10s; server 10.19.1.111:8089 max_fails=1 fail_timeout=10s; } --------------指令参数解释----------------max_fails=number 设定Nginx与服务器通信的尝试失败的次数。在fail_timeout参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个fail_timeout时间段,服务器不会再被尝试。 失败的尝试次数默认是1。设为0就会停止统计尝试次数,即不对后端节点进行健康检查。认为服务器是一直可用的。 fail_timeout=time 设定服务器被认为不可用的时间段以及统计失败尝试次数的时间段。在这段时间中,服务器失败次数达到指定的尝试次数,服务器就被认为不可用。 默认情况下,该超时时间是10秒。 在实际应用当中:1)如果后端应用是能够快速重启的应用,比如nginx的话,自带的模块是可以满足需求的。 但是需要注意,如果后端有不健康节点,负载均衡器依然会先把该请求转发给该不健康节点,然后再转发给别的节点,这样就会浪费一次转发。2)如果当后端应用重启时,重启操作需要很久才能完成的时候就会有可能拖死整个负载均衡器。 此时,由于无法准确判断节点健康状态,导致请求handle住,出现假死状态,最终整个负载均衡器上的所有节点都无法正常响应请求。
原文:https://www.cnblogs.com/dzc-/p/13404984.html