Graceful Shutdown
El apagado controlado (graceful shutdown) deja de aceptar nuevas peticiones tras recibir una señal de terminación, termina las peticiones en vuelo y luego sale, evitando peticiones interrumpidas.
Propósito
Garantizar que no se pierdan peticiones en vuelo durante el apagado, posibilitando despliegues sin tiempo de inactividad.
Mecanismo
Con SIGTERM: 1) darse de baja del balanceador (detener peticiones nuevas); 2) esperar a que terminen las peticiones en vuelo (dentro de un timeout); 3) cerrar conexiones de base de datos; 4) salir. Hook preStop de K8s + terminationGracePeriodSeconds.
Casos de uso
- Despliegue sin downtime
- Integridad de peticiones
- Operación en K8s