很多项目把健康检查写成访问首页或返回固定字符串,这只能说明进程还在,不代表服务真的可用。

健康检查至少要分两类:存活检查用于判断进程是否需要重启;就绪检查用于判断是否可以接流量。数据库、缓存、消息队列这类依赖,更适合放在就绪检查里。

GET /healthz  - process alive
GET /readyz   - dependencies ready

不要让健康检查做重活。它应该快、稳定、低成本,否则探针本身会成为压力来源。

当服务启动后还要加载配置或预热缓存,readyz 应该等准备完成后再返回成功。这样发布系统才不会过早导流。

分类: 部署与可观测性 标签: 部署 可观测性 健康检查

评论

-- 评论已关闭 --

全部评论