You need to enable JavaScript to run this app.
文档中心
负载均衡

负载均衡

复制全文
下载 pdf
健康检查
健康检查概述
复制全文
下载 pdf
健康检查概述
简介​
健康检查用于判断后端服务器状态是否正常,避免将请求转发至状态异常的后端服务器,保障服务的可用性。​
CLB支持以监听器为维度配置健康检查。创建监听器时,可以配置健康检查。​
注意​
健康检查会占用一定的网络资源,建议结合业务情况,通过降低健康检查频率、增大健康检查间隔等方式,来降低对业务的影响。但为了保障业务的持续可用,不建议关闭健康检查,关闭健康检查可能会导致请求被转发给异常的后端服务器。​
分类​
按健康检查使用的协议进行分类,如下表所示:​
​
健康检查协议​
说明​
适用场景​
TCP​
发送 SYN 握手报文,以此检测后端服务器端口的状态是否正常。​
仅TCP监听器可以使用。​
UDP​
发送ICMP 或UDP探测报文,以此检测后端服务器是否正常。​
仅UDP监听器可以使用。​
HTTP​
发送HEAD或GET请求模拟浏览访问行为,以此检测后端服务器应用是否正常。​
仅HTTP/HTTPS监听器可以使用。​
​
状态和健康检查时间​
  • 状态​
  • ​
    状态​
    说明​
    正常​
    监听器关联的所有后端服务器组内的服务器均正常。​
    异常​
    监听器关联的后端服务器组内存在服务器异常。​
    未开启​
    监听器未开启健康检查。​
    无目标​
    监听器关联的所有后端服务器组中没有配置服务器。​
    ​
  • 健康检查时间​
  • ​
    参数​
    说明​
    示例​
    响应超时​
    等待健康检查响应的时间。​
    • 若在响应超时时间内未收到后端服务器返回的正确信息,则认为健康检查失败。​
    • 取值范围:1~60秒。默认为2秒。​
    2秒​
    检测间隔​
    执行健康检查的时间间隔。​
    • 检测间隔时间需大于等于响应超时时间。​
    • 取值范围:2~300秒。默认为2秒,即每2s对后端服务器进行一次健康检查。​
    5秒​
    健康阈值​
    判断后端服务器正常的健康检查次数。​
    • 对同一后端服务器连续执行指定次数的健康检查,结果均成功时,其健康检查状态由异常变为正常。​
    • 取值范围:2~10次。默认为3次。​
    3次​
    不健康阈值​
    判断后端服务器异常的健康检查次数。​
    • 对同一后端服务器连续执行指定次数的健康检查,结果均失败时,其健康检查状态由正常变为异常。​
    • 取值范围:2~10次。默认为3次。​
    3次​
    ​
  • 检查过程​
  • 以上文健康检查时间表格中的示例值,展现健康检查过程。​
  • ​
    TCP/UDP协议
    HTTP协议
    ​
    ​​​
    ​
    ​
原理​
​
TCP协议
UDP协议
HTTP协议
​
TCP监听器使用TCP协议对后端服务器组进行健康检查。​
​​​
​
TCP监听器的检查原理如下:​
  1. CLB实例根据监听器的健康检查配置,向后端服务器的内网IP+端口发送TCP SYN数据包。​
  1. 后端服务器收到请求后,如果相应端口正在正常监听,则会返回SYN+ACK数据包。​
  1. 如果在响应超时时间之内,CLB实例没有收到后端服务器返回的数据包,则认为服务无响应,判定健康检查失败;并向后端服务器发送RST数据包中断TCP连接。​
  1. 如果在响应超时时间之内,CLB实例成功收到后端服务器返回的数据包,则认为服务正常运行,判定健康检查成功,而后向后端服务器发送RST数据包中断TCP连接。​
说明​
正常的TCP三次握手,CLB实例在收到后端服务器返回的SYN+ACK数据包后,会进一步发送ACK数据包,而后进行数据传输,但进行健康检查时会立即发送RST数据包中断TCP连接。​
该实现机制可能会导致后端服务器认为相关TCP连接异常退出,并抛出错误信息,如Connection reset by peer。后端服务器若已开启真实客户端 IP 获取,可通过识别健康检查源 IP,过滤屏蔽健康检查引发的连接异常报错。​
​
​
最近更新时间:2026.05.08 10:54:14
这个页面对您有帮助吗?
有用
有用
无用
无用