Ne vous contentez pas de tuer le processus
Lorsqu'un microservice s'arrête (par exemple, lors d'un déploiement), il doit terminer les requêtes en cours avant de quitter.
Utiliser os/signal :
go stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt)
<-stop // Attendre le Ctrl+C
ctx, _ := context.WithTimeout(context.Background(), 5*time.Second) server.Shutdown(ctx) // Arrêter de recevoir de nouvelles requêtes et terminer les anciennes