7.6. 关于负载均衡服务运行状况监控器
负载均衡服务(octavia)健康监控器是一个流程,它在每个后端成员服务器上定期进行健康检查来预检测故障服务器,并临时将它们从池中拉取。
如果运行状况监控器检测到失败的服务器,它将服务器从池中移除,并将成员标记为 ERROR
。在更正了服务器并再次正常工作后,健康监控器会自动将成员的状态从 ERROR
改为 ONLINE
,并恢复流量。
始终在生产负载均衡器中使用运行状况监视器。如果您没有运行状况监控器,则失败的服务器不会从池中移除。这可能会导致 Web 客户端的服务中断。
有多种健康监控器类型,如这里简略描述:
- HTTP
-
默认情况下,探测应用服务器上的
/
路径。 - HTTPS
完全类似于 HTTP 运行状况监视器,但使用 TLS 后端服务器。
如果服务器执行客户端证书验证,则 HAProxy 没有有效的证书。在这些情况下,TLS-HELLO 健康监控是备选的。
- TLS-HELLO
确保后端服务器响应 SSLv3-client hello 消息。
TLS-HELLO 运行状况监控器不会检查任何其他健康指标,如状态代码或正文内容。
- PING
发送定期 ICMP ping 请求到后端服务器。
您必须将后端服务器配置为允许 PING,以便这些健康检查通过。
重要只有成员可以访问并响应 ICMP echo 请求时,PING 运行状况监视器才会检查。PING 运行状况监视器不会检测实例上运行的应用程序是否健康。仅在 ICMP 回显请求为有效的健康检查的情况下,才使用 PING 运行状况监视器。
- TCP
打开到后端服务器协议端口的 TCP 连接。
TCP 应用程序打开 TCP 连接,并在 TCP 握手后关闭连接,而不发送任何数据。
- UDP-CONNECT
执行基本 UDP 端口连接。
如果在成员服务器上没有启用 Destination Unreachable (ICMP 类型 3),或安全规则阻止,则 UDP-CONNECT 运行状况监视器可能无法正常工作。在这些情况下,成员服务器在实际停机时可能被标记为
ONLINE
操作状态。