设置健康检查

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

在SAE上创建Web应用时,可以设置启动健康检查功能,确保只有正常启动完成的实例可以接受业务请求,从而提高应用的稳定性和可用性。本文介绍健康检查的工作原理,以及如何在SAE控制台配置健康检查。

健康检查原理

Web应用实例启动后,会执行启动健康检查,并将检查结果返回到控制台。您可以使用自定义或系统默认的启动健康检查流程。

自定义的启动健康检查

如果您配置了应用启动检查(Startup配置),健康检查的流程如下:

  1. 等待执行健康检查:在实例启动的初始延迟时间内,健康检查不会被执行。这允许应用有足够的时间来完成启动和初始化所需的资源。

  2. 开始健康检查:在初始延迟时间过后,SAE 会根据您设置的检查周期,定期执行健康检查。具体的检查方式是尝试与容器内指定端口建立HTTP连接或TCP连接。对于每次健康检查,如果成功建立连接并返回正确的状态码,则此次健康检查成功;如果建立连接超出设定的超时时间或返回错误的状态码,则此次健康检查失败。

  3. 判断健康检查结果:如果健康检查连续失败的次数超过了失败阈值,SAE 会将实例标记为启动失败,删除该实例并重建新的实例。如果有一次健康检查成功,则判定实例启动成功,可以接受业务请求。

系统默认的启动健康检查

如果您未配置应用启动检查(Startup配置),SAE将执行默认的启动健康检查流程:

  1. SAE 会在实例启动的时候,立即以 1s 为周期,定期执行健康检查。具体的检查方式是尝试与应用配置的HTTP 监听端口建立 TCP 连接。对于每次健康检查,如果成功建立连接并返回正确的状态码,则此次健康检查成功;如果连接超时或返回错误的状态码,则此次健康检查失败。

  2. 如果健康检查连续失败的次数超过了120次,SAE 会将实例标记为启动失败,删除该实例并重建新的实例。如果有一次健康检查成功,则判定实例启动成功,可以接受业务请求。

操作步骤

在创建应用时设置健康检查

  1. 登录SAE控制台在左侧导航栏,选择应用管理 > Web应用,在顶部菜单栏选择地域。应用列表页面,单击创建应用

  2. 应用基本信息页面,按照页面提示完成相关参数配置,然后单击下一步:高级设置

  3. 高级设置页面,展开应用健康检查设置区域,开启应用启动检查(Startup 配置)

  4. 选择检查方式,并配置相关参数。

    1. HTTP请求检查:适合需要自定义请求路径、请求头的情况。执行健康检查时,会尝试与容器内指定端口建立HTTP 连接,并按照自定义的请求路径、请求头发送HTTP请求。

    2. TCP端口检查:适合仅检查端口是否正常开启,无需自定义请求路径、请求头的情况。执行健康检查时,会尝试与容器内指定端口建立TCP连接。

  5. 参考上文健康检查原理配置相关参数,然后单击创建应用

在部署新版本时设置健康检查

警告

部署新版本后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。

  1. 登录SAE控制台在左侧导航栏,选择应用管理 > Web应用,在顶部菜单栏选择地域。应用列表页面,单击目标应用名称。

  2. 在左侧导航栏,单击版本列表,然后单击新建版本。在应用健康检查设置区域,开启应用启动检查(Startup 配置)

  3. 选择检查方式,并配置相关参数。

    1. HTTP请求检查:适合需要自定义请求路径、请求头的情况。执行健康检查时,会尝试与容器内指定端口建立HTTP 连接,并按照自定义的请求路径、请求头发送HTTP请求。

    2. TCP端口检查:适合仅检查端口是否正常开启,无需自定义请求路径、请求头的情况。执行健康检查时,会尝试与容器内指定端口建立TCP连接。

  4. 参考上文健康检查原理配置相关参数,然后单击确定

相关文档

部署应用和访问应用的过程中,常见的报错信息及处理建议请参考如何根据应用的报错信息排查问题?