容器健康检查:进程活着不等于可以接流量

举报
yd_223480201 发表于 2026/10/31 08:25:44 2026/10/31
【摘要】 区分容器的存活、就绪和启动检查:进程仍在运行,只说明它未必需要被重启,不说明它已经可以接收新请求。

把容器放进负载均衡时,常见的误判是:主进程还在,就认为这个实例可以接流量。编排里至少要把三件事分开。

存活检查

存活(liveness)回答的是“这个进程是否已经无法自行恢复,应该被重启”。检查失败的典型含义是死锁或僵死,而不是“下游暂时不可用”。所以存活检查应当便宜,并且不要依赖外部系统:下游抖动时,如果存活检查也失败,健康实例会被一起重启,故障会被放大。

就绪检查

就绪(readiness)回答的是“现在能不能接收新请求”。配置还没加载完、本地缓存还在预热、关键依赖还没连通,都应该让就绪失败。编排系统会把实例暂时移出负载均衡,而不是杀掉它。依赖恢复后,实例可以重新接流量。

启动检查

启动较慢的进程需要单独的启动(startup)窗口。在这个窗口内不要用过严的存活阈值,否则进程还在正常初始化时就会被误杀。启动成功之后,再切回常规的存活和就绪检查。

一个够用的分法

  • 存活:进程能在超时内返回,且没有进入已知的不可恢复状态。
  • 就绪:配置已加载,本实例提供服务所必需的依赖检查通过。
  • 失败阈值:一次超时不要立刻重启或摘除,给网络抖动留出连续失败次数。

上面是容器编排里的常规区分,不对应某一家云控制台的具体字段名。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。