3 行代码给你的 Spring Boot 应用加上健康检查 + 就绪探针
一、引言 "我的应用明明启动成功了,为什么 K8s 一直把流量打过来又切走?" 相信很多同学在 K8s 部署 Spring Boot 应用时都遇到过这个问题。根本原因在于:健康检查配置不当。 想象一下这个场景: 应用启动需要 30 秒初始化数据库连接池、加载缓存 K8s 在启动后 5 秒就开始探测 readiness 由于初始化未完成,readiness 探针失败 K8s 认为 Pod 未就绪,将其从 Service 中移除 30 秒后应用初始化完成,但此时流量已经被分发到其他实例 这就是典型的探针配置与应用启动时间不匹配问题。 二、Spring Boot Actuator 健康检查体系 2.1 三个核心端点 Spring Boot Actuator 自带三个健康检查端点: # /actuator/health - 综合健康检查 # /actuator/health/liveness - 存活探针:应用本身是否正常运行 # /actuator/health/readiness - 就绪探针:是否准备好接收流量 关键区别: 端点作用失败后果检查内容 /actuator/h....