intermediate
Health checks
Разделяйте liveness, readiness, startup и dependency checks, чтобы orchestrators правильно routed traffic и restarted services.
Orchestrators используют health endpoints для routing traffic и restart unhealthy instances. Liveness: «перезапустить процесс?» Readiness: «принимать traffic?» Startup probes защищают slow-booting apps. Dependency checks — в readiness, не liveness, чтобы избежать restart loops.
На интервью: liveness vs readiness для сервиса, кратко не достигающего Kafka.
Типовые ошибки: downstream DB в liveness; readiness всегда true; тяжёлая работа в health endpoint.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Раздельные liveness, readiness и startup probes.
- Liveness дешёвый и про process.
- Убирайте из load balancer при not ready.
- Version health responses для debugging.