标准答案

  1. 存活探针关注进程是否陷入不可恢复状态,失败通常触发重启,因此不应把短暂下游故障直接绑定为存活失败。
  2. 就绪探针关注实例是否完成初始化、连接池建立、缓存预热等接流量前提,失败时应从负载均衡中摘除。
  3. 依赖健康检查展示数据库、缓存、消息或第三方的状态,供告警和降级判断使用,但需要区分关键与非关键依赖。
  4. 健康接口还应避免泄露内部地址、账号、堆栈和拓扑信息,外部与内部访问可使用不同详细程度。

题目解析

如果把数据库短暂抖动当成存活失败,编排系统会在故障时不断重启所有实例,反而放大连接和恢复压力。

如果实例尚未完成初始化却已经就绪,流量会落到无法正确处理请求的节点,表现为刚发布就出现间歇性错误。

常见误区

  • 健康检查只检查 HTTP 端口能否连接,不检查服务是否真正可处理请求。
  • 把所有外部依赖失败都当作重启条件。
  • 在公开健康接口中返回完整配置、异常堆栈或密钥片段。

作者信息