5.状态健康检查
通过发送定期运行状况检查来监视上游组中TCP服务器或upstream组中HTTP服务器或UDP 服务器的运行状况。
HTTP状态健康检查
介绍
NGINX可以持续测试您的upstream服务器,避免发生故障的服务器,并将恢复的服务器优雅地添加到负载平衡组中。
被动健康检查(Passive Health Checks)
对于被动运 行状况检查,NGINX 会在事务(transactions)发生时对其进行监控,并尝试恢复失败的连接。如果事务仍然无法恢复,NGINX 会将服务器标记为不可用,并暂时停止向其发送请求,直到它再次标记为活动。
为每个upstream服务器定义upstream服务器标记为不可用的条件,并在 upstream块中提供 server指令的参数:
fail_timeout– 设置服务器标记为不可用必须发生多次失败尝试的时间,以及服务器标记为不可用的时间(默认值为 10 秒)。max_fails– 设置在服务器标记为不可用fail_timeout期间必须发生的失败尝试次数(默认值为 1 次尝试)。
在以下示例中,如果 NGINX 无法向服务器发送请求或在 30秒内 3次未收到来自服务器的响应,则会将服务器标记为不可用 30 秒:
upstream backend {
server backend1.example.com;
server backend2.example.com max_fails=3 fail_timeout=30s;
}
请注意,如果组中只有一个服务器,则会忽略 fail_timeout,max_fails参数,并且永远不会将服务器标记为不可用。