API 文档

健康检查

最近更新时间:2020-09-29 17:56:18

负载均衡可以定期向后端服务器发送 Ping 命令、尝试连接或发送请求来探测后端服务器运行的状况,这些探测称为健康检查。负载均衡通过健康检查来判断后端服务的可用性,避免后端服务异常影响前端业务,从而提高业务整体可用性。

  • 当后端服务器实例被判定为异常时,负载均衡实例将自动将新的请求分发给其他正常的服务器,而不会把请求转发到异常的服务器;当异常实例恢复正常状态时,负载均衡将自动恢复该服务,重新分发请求给它
  • 开启健康检查后,无论后端服务器权重是多少(包括为0),负载均衡实例都会进行健康检查。
  • 弹性伸缩组会定期使用相似的方法确定每个组内实例的运行状况。有关更多信息,请参见 弹性伸缩

四层转发健康检查配置

四层转发的健康检查机制:由负载均衡器向配置中指定的服务器端口发起访问请求,若端口访问正常,则视为后端服务器运行正常,否则视为运行异常。
对于 TCP 的业务,使用 SYN 包进行探测;对于 UDP 业务,使用 Ping 进行检查。

健康检查配置 说明 默认值
响应超时
  • 健康检查响应的最大超时时间。
  • 如果后端云服务器在超时时间内没有正确响应,则判定为健康检查异常。
  • 可配置范围:2 - 60秒。
  • 2秒
    检测间隔
  • 负载均衡进行健康检查的时间间隔。
  • 可配置范围:5 - 300秒。
  • 5秒
    不健康阈值
  • 如果连续 n 次(n 为填写的数值)收到的健康检查结果失败,则识别为不健康,控制台显示为异常
  • 可配置范围:2 - 10次。
  • 3次
    健康阈值
  • 如果连续 n 次(n 为填写的数值)收到的健康检查结果为成功,则识别为健康,控制台显示为健康
  • 可配置范围:2 - 10次。
  • 3次

    七层转发健康检查配置

    七层转发的健康检查机制由负载均衡器向后端服务器发送 HTTP 请求来检测后端服务,负载均衡器会根据用户选择的 HTTP 返回值来判断服务是否正常。假定在某场景下,HTTP 返回值为 http_1xxhttp_2xxhttp_3xxhttp_4xxhttp_5xx 这几种,用户可以根据业务需要编辑 http_1xxhttp_2xx 为服务正常状态,并设置 http_3xxhttp_5xx 的返回值代表异常状态。

    健康检查配置 说明 默认值
    检查域名 健康检查域名:
    • 长度限制:1 - 80个字符。
    • 默认为转发域名。
    • 不支持正则表达式,当您的转发域名为通配域名时,需要指定某一固定域名(非正则)为健康检查域名。
    • 支持的字符集为:a-z 0-9 . -
    转发域名
    检查路径 健康检查路径 :
    • 长度限制:1 - 200个字符。
    • 默认为 /,且必须以 / 开头。
    • 不支持正则表达式,建议指定某个固定 URL 路径(静态页面)进行健康检查。
    • 支持的字符集为:a-z A-Z 0-9 . - _ / = ?
    /
    检测间隔
  • 负载均衡进行健康检查的时间间隔。
  • 可配置范围:5 - 300秒。
  • 5秒
    不健康阈值
  • 如果连续 n 次(n 为填写的数值)收到的健康检查结果失败,则识别为不健康,控制台显示为异常
  • 可配置范围:2 - 10次。
  • 3次
    健康阈值
  • 如果连续 n 次(n 为填写的数值)收到的健康检查结果为成功,则识别为健康,控制台显示为健康
  • 可配置范围:2 - 10次。
  • 3次
    HTTP 请求方式 健康检查的 HTTP 请求方式,可选:GET 或 HEAD:
    • 若使用 HEAD 方法,服务器仅返回 HTTP 头部信息,可降低后端开销,提升请求效率,对应的后端服务需支持 HEAD。
    • 若使用 GET 方法,则后端服务支持 GET 即可。
    GET
    HTTP 状态码检测 当状态码为所选状态码时,认为后端服务器存活,即健康检查正常,可选:http_1xx,http_2xx, http_3xx,http_4xx,http_5xx。 http_1xx,http_2xx,http_3xx,http_4xx

    健康检查状态

    根据健康检查探测情况,后端服务的健康检查状态有如下四种:

    状态 说明 是否转发流量
    探测中 新绑定的后端服务,在检查间隔 × 健康阈值时间内的状态,例如,检查间隔2s,健康阈值3次,则是6s内的状态。 CLB 不向处于“探测中”的后端服务转发流量。
    健康 后端服务正常 CLB 向“健康”的后端服务转发流量。
    异常 后端服务异常
  • CLB 不向“异常”的后端服务转发流量。
  • 在一个四层监听器或者七层 URL 规则下,如果 CLB 探测到所有后端服务都不健康,将会激活全死全活逻辑,即请求将会转发给所有后端服务。
  • 已关闭 关闭健康检查 CLB 向后端服务转发流量。
    注意:

    若您关闭健康检查,负载均衡将向所有后端服务器转发流量(包括异常的后端服务器),因此强烈建议您打开健康检查,允许负载均衡帮您自动检查并移除异常的后端服务器。

    健康检查异常排查方法

    若健康检查出现异常,可以从后端服务器带宽、四层监听器和七层协议等方向进行排查。具体排查方法请参考 健康检查异常排查

    目录