Write a Health Check That Means Something
Added 2026-11-04
Returning 200 does not mean the service is usable.
Here is a health check endpoint. Assess: 1) whether it only proves the process is alive and ignores dependencies; 2) which critical dependencies to check and what each failure means; 3) how to avoid the check slowing the service or causing cascading failures; 4) distinguish liveness from readiness; 5) design a layered health check; 6) point out where the current design most misleads operators.
Site original
Chinese original
How to use
健康检查的读者是运维,不是监控图。
Try tweaking it
- Have it restate requirements and constraints before writing code.
- Ask for the smallest change plus a rollback path, not a full-file rewrite.
What you should get
- A minimal, runnable change with copy-ready code
- Impact list: which files and call sites must follow
Common mistakes
- Asking it to touch ten files at once, then losing track of what broke what.
- Pasting only the error, with no code or version, and getting an unfixable answer.
How to check the output
- The change runs, can be rolled back, and touches nothing unrelated.
- Edge cases (empty, oversized, concurrent) are covered or explained.
Where it works
- Good for: having it restate requirements and constraints, then propose the smallest runnable change.
- Watch out: include versions and a minimal reproduction with the error, or the fix may look plausible but not fit.