Explica cómo diseñar endpoints de liveness y readiness que reflejen salud del proceso, disponibilidad de dependencias y capacidad real para recibir tráfico.
Última actualización
Actualizada
Nivel
Aplicación
Liveness responde si el proceso debe reiniciarse. Readiness responde si debe recibir tráfico. Mezclarlas puede convertir una caída temporal de una dependencia en una tormenta de reinicios.
Incluye una dependencia si el servicio no puede cumplir su función principal sin ella. No conviertas cualquier integración opcional en requisito de readiness.
Ejemplo:
PostgreSQL principal: probablemente sí.
Proveedor de email asíncrono: normalmente no.
Broker requerido para aceptar comandos: depende del diseño/outbox.
Una aplicación que carga modelos o ejecuta inicialización larga puede fallar liveness antes de estar lista. Una startup probe concede una ventana separada.
Idealmente las migraciones se ejecutan como proceso de deployment, no en cada instancia, para evitar carreras.
Mide cambios de readiness y duración. Una instancia oscilando entre estados puede indicar pool agotado, timeouts demasiado estrictos o dependencia inestable.
La probe no sustituye métricas de latencia, errores o saturación.