Skip to main content
La mayoría de los servicios desplegables de Lerian exponen los mismos tres endpoints HTTP operacionales en su puerto de aplicación principal: /health, /readyz y /version. Los orquestadores como Kubernetes los usan para decidir cuándo un servicio está vivo, cuándo puede recibir tráfico y qué build ejecuta. Este es el contrato de sondas estándar, no una garantía para todos los servicios. Algunos componentes (workers y sidecars) exponen solo un subconjunto. La tabla de cobertura por servicio a continuación es la referencia autoritativa para las excepciones.

Los endpoints de las sondas

Las rutas se escriben exactamente /health y /readyz, no /healthz ni /livez. Las tres sondas están en el puerto de aplicación principal, antes del middleware de autenticación. Son sondas públicas y quedan fuera de los logs de acceso y del tracing de solicitudes.

El cuerpo de la respuesta de /readyz

/readyz devuelve un documento JSON que describe la readiness general y cada verificación de dependencia.
Vocabulario de estado es un conjunto cerrado:
  • status general: healthy o unhealthy.
  • status por verificación: up, down, degraded, skipped, n/a.
/readyz devuelve HTTP 200 solo cuando el estado general es healthy. Si alguna verificación está down o degraded, devuelve HTTP 503.

Comportamiento de arranque y apagado

Las sondas evitan que un orquestador enrute tráfico hacia un servicio que no puede atenderlo.
  • Autochequeo de arranque. /readyz devuelve 503 (“servidor no listo”) hasta que el listener está activo y las dependencias son accesibles. Por lo tanto, un balanceador de carga no recibe un pod en arranque de forma prematura, incluso si /health ya responde 200.
  • Drenaje elegante. Al recibir SIGTERM, el servicio cambia /readyz a 503 durante una ventana de drenaje (unos 12 segundos) mientras /health permanece en 200. Los orquestadores dejan de enrutar tráfico nuevo durante la ventana y luego el proceso termina una vez que el trabajo en curso se drena. La ventana es configurable mediante READYZ_DRAIN_DELAY_SEC (algunos servicios usan READYZ_DRAIN_GRACE_SECONDS).
  • Modo de despliegue. El cuerpo de /readyz reporta el DEPLOYMENT_MODE activo. En modo saas, una dependencia alcanzada sin TLS hace fallar la verificación de readiness (y de arranque). En byoc, TLS es una recomendación, no un requisito.

Readiness multi-tenant

Cuando habilitas multi-tenancy, el servicio agrega una sonda de readiness por tenant protegida por autenticación:
Ejecuta las verificaciones de readiness contra las conexiones resueltas de un único tenant. El /readyz global reporta las verificaciones con alcance de tenant como n/a y apunta a la ruta por tenant.

Cobertura por servicio

Todos los servicios que se muestran a continuación exponen /health (liveness) y /readyz (readiness) en su puerto principal. La tabla lista los puertos predeterminados, la sonda multi-tenant donde aplica y las dos desviaciones de ruta.
Multi-tenant readyz muestra Yes donde el servicio registra GET /readyz/tenant/{id}. La ruta aparece cuando habilitas multi-tenancy. Un — significa que el servicio no registra una sonda dedicada por tenant.Puertos son los valores predeterminados de compose/.env.example y se pueden sobrescribir por despliegue. Consulta Puertos de red predeterminados. Varies marca un servicio cuyo puerto predeterminado depende de la configuración de despliegue.