微服务平台 TSF 健康检查(应用部署 虚拟机 )

2. 如果就绪检查 ready 则更新实例注册状态为 passing,反之则检查状态为 Critical。

相关产品
微服务平台 TSF 产品页,含版本规格、价格与购买入口。

一、概述

TSF 健康检查分为存活检查和就绪检查:

·存活检查:主要作用是确定进程存活状态,判断是否需要进行实例重启。例如存活检查可以捕捉到死锁(应用程序进程还存在,但是无法响应),重启进程或者容器可以让应用程序恢复可用。

·就绪检查:主要作用是确定服务实例能否支持对外服务,将健康检查结果与注册中心状态联动实现滚动更新及无损发布。当一个实例没有就绪,实例会在注册中心中被屏蔽(其他服务不会发送请求到微服务实例上)。

二、健康检查支持的产品能力

·存活检查。

·就绪检查。

·无损发布。

·检查顺序:HTTP 检查、TCP 端口、执行命令检查。

·支持虚拟机部署组和容器部署组。

三、健康检查与注册中心联动流程

1. 就绪检查,检查实例状态是否 ready。

3. 监听注册中心服务提供方实例状态变更。

4. 存在状态变更更新缓存及本地文件。

5. 发起服务调用。

四、配置存活检查

1. 登录 腾讯微服务平台控制台,选择应用管理,单击对应的应用 ID,进入应用详情,在左侧菜单栏中,单击应用部署。

2. 在部署配置,在健康检查中开启存活检查。

3. 检查方式:

·HTTP 请求检查:任何大于200小于400的返回码都会认定是成功的返回码。其他返回码都会被认为是失败的返回码。HTTP 检查需要设置端口和请求路径。

·TCP 端口检查:如果可以建立连接被认为是成功的。该检查方式需要设置检查端口。

·执行命令检查:如果命令执行成功并且返回值为 0,认为是成功;其他返回值认为是失败。该检查方式需要填写执行命令。

4. 启动延时、超时时间、检测周期、健康阈值、不健康阈值使用默认值即可。

五、配置就绪检查

场景:服务 A 调用服务 B。服务 B 使用 /health 接口是否返回 200 状态码判断是否健康,当就绪检查失败时,服务 B 在注册中心中被屏蔽,服务 A 通过注册中心监听到服务 B 状态变化后更新本地路由表;当就绪检查成功时,服务 B 在注册中心恢复健康状态。

1. 登录 腾讯微服务平台控制台,选择应用管理,单击对应的应用 ID,进入应用详情,在左侧菜单栏中,单击应用部署。

2. 在部署配置,在健康检查中开启就绪检查。

·优雅滚动重启:无须用户设置检查规则,会根据服务实例是否注册到注册中心来决定 虚拟机 变为 ready 状态。

·自定义:自定义就绪检查通过的方式。

3. 检查方式:

·HTTP 请求检查:任何大于200小于400的返回码都会认定是成功的返回码。其他返回码都会被认为是失败的返回码。HTTP 检查需要设置端口和请求路径。

·TCP 端口检查:如果可以建立连接被认为是成功的。该检查方式需要设置检查端口。

·执行命令检查:如果命令执行成功并且返回值为 0,认为是成功;其他返回值认为是失败。该检查方式需要填写执行命令。

4. 启动延时、超时时间、检测周期、健康阈值、不健康阈值使用默认值即可。

六、就绪检查和滚动更新

部署组支持立即更新和滚动更新两种更新方式:立即更新会先停止所有应用实例,然后使用新的程序包或者镜像版本部署;滚动更新会根据更新策略,分批更新部署组内的实例。

如果部署组使用滚动更新并且开启就绪检查,当就绪检查失败时滚动更新会被阻塞。

赞 (0)
上一篇 4天前
下一篇 4天前