You need to enable JavaScript to run this app.
导航
健康检查
最近更新时间:2025.07.25 10:07:23首次发布时间:2022.05.27 19:16:03
复制全文
我的收藏
有用
有用
无用
无用

健康检查概述

您可以为终端节点组启用健康检查,以阻止流量被路由至运行状况不佳的终端节点,从而改善您后端应用的可用性。全球加速按您制定的时间间隔对每个终端节点执行健康检查。如果某个终端节点被判定为故障,系统将停止向其调度流量,并将流量转移到同一组内其他运行正常的终端节点。当该运行状况不佳的终端节点被再次确认为运行正常后,系统将恢复向其调度流量。

全球加速支持以下健康检查方式:

  • TCP 健康检查:全球加速通过向终端节点建立 TCP 连接,基于后端服务器的网络传输层响应来判断终端节点的健康状态。

  • HTTP/HTTPS 健康检查:全球加速通过向终端节点发送 HTTP GET 请求,基于后端服务器的应用层的响应来判断终端节点的健康状态。

TCP 健康检查

全球加速的 TCP 健康检查基于 TCP 协议的连接建立机制。全球加速通过发送 SYN 包并验证后端服务器返回的 SYN-ACK 响应来判断其状态。

TCP 健康检查机制如下:

  1. 全球加速根据您的健康检查配置,向终端节点的 IP 和健康检查端口发送 TCP SYN 报文,并进入 SYN-SENT 状态,等待终端节点对应的后端服务器响应。
  2. 正常情况下,收到 TCP SYN 报文后,后端服务器会向全球加速发送 SYN-ACK 报文确认连接请求,并进入 SYN-RECV 状态。全球加速根据接收返回报文的情况,判断健康检查状态:
    1. 如果在响应超时时间内没有收到后端服务器的 SYN-ACK 报文或收到了 RST 报文,则判定健康检查失败。
    2. 如果在响应超时时间内收到后端服务器的 SYN-ACK 报文,则判定健康检查成功。此时,全球加速会发送 RST 报文放弃连接,完成健康检查。

说明

对于 TCP 健康检查,超时时间为全球加速在发出 TCP SYN 报文后等待返回 SYN-ACK 报文的最长时间。默认为 3 秒,不支持修改。

HTTP/HTTPS 健康检查

全球加速的 HTTP/HTTPS 健康检查允许您基于应用层的响应判断后端服务器的健康状态。

HTTP/HTTPS 健康检查机制如下:

  1. 全球加速向后端服务器建立 TCP 连接并发送 HTTP GET 请求。基于 HTTPS 协议的健康检查会额外启动 TLS 握手。
  2. 全球加速根据后端服务器返回的 HTTP 状态码判断其健康状态:
    1. 如果在响应超时时间内收到后端服务器的 2xx 或 3xx 状态码的 HTTP 响应,则判定健康检查成功。
    2. 其他情况下,全球加速判断健康检查失败。

说明

对于 HTTP/HTTPS 健康检查,超时时间为全球加速在发出 HTTP GET 请求后等待返回 HTTP 响应的最长时间。默认为 2 秒,不支持修改。

开启健康检查

您可以通过编辑终端节点组的属性启用健康检查。步骤如下:

  1. 登录火山引擎全球加速控制台

  2. 在左侧导航栏,点击 加速器管理 > 标准型加速器

  3. 标准型加速器 页面,点击待配置加速器名称。

  4. 监听 标签页,找到待配置监听器,点击 查看节点组

  5. 终端节点组 标签页,找到待配置终端节点组名称,在 操作 栏点击 编辑

  6. 编辑终端节点组 页面,开启 健康检查,参考下文“健康检查字段解释”完成配置,然后点击 确认,完成健康检查配置。

健康检查字段解释

相关字段说明

健康检查协议

根据您需要的健康检查类型,选择健康检查协议:

  • TCP:TCP 健康检查

  • HTTP:HTTP/HTTPS 健康检查,后端服务为不带 SSL 保护的 HTTP 服务。

  • HTTPS:HTTP/HTTPS 健康检查,后端服务为由 SSL 保护的 HTTP 服务。

端口健康检查服务向后端服务器尝试建连时使用的 TCP 端口。范围为1~65535。

健康检查时间间隔

系统每隔多长时间进行一次健康检查,单位为秒。输入范围为1~50秒,默认为 2 秒。
该值指一次检查完成后到下一次检查开始前的时间间隔。关于设置健康检查时间间隔的更多考量,请参考下文“故障判定时间”。

健康检查健康阈值

系统在进行状态切换前所需要的连续成功或失败的检查次数,输入范围2~10,默认为3次。

说明

间歇性、暂时性的故障可能导致流量在终端节点之间被频繁切换,从而可能降低服务质量。为缓解此问题,全球加速允许您配置健康检查健康阈值,仅在达到阈值指定的连续成功或连续失败次数后,才将终端节点判定为正常或故障。关于设置健康检查健康阈值的更多考量,请参考下文“故障判定时间”。

健康检查域名仅当 健康检查协议HTTPHTTPS 时出现。该选项用来指定后端服务器目标站点的域名,如 example.com。当后端服务器采用了虚拟主机(virtual hosting)的配置时,会在同一个 IP 地址上提供多个站点的服务。此时,健康检查域名 选项指定了发送给服务器的 HOST 请求头以及 TLS 握手时用到的 Server Name Indication (SNI) 主机名。

健康检查路径

仅当 健康检查协议HTTPHTTPS 时出现。需要访问的 HTTP 资源的路径。该路径必须以 / 开头。例如,如果健康检查访问的目标 URL 为 https://example.com/tester.html 则此处填写 /tester.html

说明

由于全球加速发送的是 HTTP GET 请求,于是全球加速会接收完整的 HTTP 响应才完成该次检测。为了节省您的服务器资源,建议您指定一个尺寸较小的资源。

故障判定时间

从一个后端服务器发生故障到健康检查判断该后端服务器已故障,中间有一段时间。这个时间由以下三个因素决定:

  • 健康检查时间间隔:每隔多长时间系统进行一次健康检查。
  • 响应超时时间:系统等待后端服务器响应的最长时间(TCP 为 3 秒,HTTP/HTTPS 为 2 秒)。
  • 健康检查健康阈值:在将终端节点判定为故障之前需要连续失败的次数。

您可以用以下估算公式来估算故障判定所需的最长时间:
故障判定时间 ≈ (健康检查时间间隔 + 响应超时时间) × 健康检查健康阈值

示例
基于以下配置:

  • 健康检查协议:TCP
  • 健康检查时间间隔:2 秒
  • 响应超时时间:3 秒 (固定)
  • 健康检查健康阈值:3 次

估算出故障判定时间:故障判定时间 ≈ (2 + 3) × 3 = 15 秒

其他操作

  • 修改健康检查配置:如需修改健康检查配置,您可以编辑终端节点组的属性,并修改协议端口健康检查时间间隔健康检查健康阈值等配置项信息。确认配置后,点击 确认,完成修改终端节点的健康检查配置。
  • 关闭健康检查:如需关闭健康检查,您可以编辑终端节点组的属性,并关闭 健康检查 开关。