一、健康检查目的
负载均衡健康检查的主要目的是通过定期检测后端服务器的状态,确保只有健康、能够正常处理请求的服务器才会被分配流量,从而提高业务的整体可用性和用户体验,避免了局部后端服务器异常对总体服务的影响。
开启健康检查功能后,当某台后端服务器健康检查出现异常时,负载均衡会自动将新的请求分发到其他健康检查正常的后端服务器上;而当该后端服务器恢复正常运行时,负载均衡会将其自动恢复到负载均衡服务中进行流量转发。
重要 :
如果您的业务对负载敏感性高,高频率的健康检查探测可能会对正常业务访问造成影响。可以结合业务情况,通过降低健康检查频率、增大健康检查间隔、七层检查修改为四层检查等方式,来降低对业务的影响。但为了保障业务的持续可用,不建议关闭健康检查。
二、健康检查的类型
负载均衡健康检查通常包括多种类型,如HTTP/HTTPS检查、TCP检查、自定义脚本检查等。每种检查类型适用于不同的应用场景和需求:
- HTTP/HTTPS检查:通过发送HTTP或HTTPS请求到后端服务器,并根据返回的状态码来判断服务器是否健康。适用于提供HTTP服务的应用。
- TCP检查:通过尝试建立TCP连接来检查后端服务的健康状态。如果能够成功建立TCP连接,则认为服务是健康的。适用于不提供HTTP服务的应用,如数据库服务。
- 自定义脚本检查:允许使用自定义脚本来进行更复杂的健康检查逻辑,提供了最大的灵活性。
1、HTTP/HTTPS健康检查机制
针对七层(HTTP或HTTPS协议)监听,健康检查通过HEAD或GET探测来获取状态信息,如下图所示。对于HTTPS监听,证书在负载均衡系统中进行管理。负载均衡与后端服务器之间的数据交互(包括健康检查数据和业务交互数据)使用HTTP,不再通过HTTPS进行传输,以提高系统性能。
七层监听的检查机制如下:
-
七层集群中的服务器根据监听的健康检查配置,向后端服务器的内网IP+【健康检查端口】