Does Vert.x graceful shutdown alone guarantee zero‑downtime migration?
0 reputation · 10 Mar 2025, 20:03 UTC
Goal: migrate a small Vert.x HTTP application without downtime.
Constraint: Vert.x provides two stop paths – immediate close() and graceful shutdown() that stops accepting new connections and drains in‑flight requests up to a configurable timeout.
Uncertainty: whether relying solely on shutdown() guarantees zero‑downtime migration or if an external load balancer/orchestrator must actively drain traffic before shutdown begins, especially considering HA groups, health checks, and cluster‑manager setup.
Questions: Does shutdown() alone ensure all in‑flight requests complete before connections are closed? Is an external drain mechanism required for zero‑downtime migration in Kubernetes or bare‑VM environments? How should health‑check integration be coordinated with shutdown() timing?