Tests de santé et arrêt gracieux
Arrêt gracieux
Lorsque vous déployez une nouvelle version de votre application, vous devez remplacer la version précédente. Le gestionnaire de processus que vous utilisez enverra d’abord un signal SIGTERM à l’application pour l’informer qu’il sera tué. Une fois que l’application reçoit ce signal, elle devrait cesser d’accepter de nouvelles requêtes, terminer toutes les demandes en cours, nettoyer les ressources utilisées, y compris les connexions à la base de données et les verrous de fichiers puis quitter.
Exemple
const server = app.listen(port);
process.on('SIGTERM', () => { debug('SIGTERM signal received: closing HTTP server'); server.close(() => { debug('HTTP server closed'); });});Examens de santé
Un répartiteur de charge utilise des contrôles de santé pour déterminer si une instance de l’application est saine et peut accepter les demandes. Par exemple, Kubernetes a deux examens de santé:
liveness, qui détermine quand redémarrer un conteneur.readiness, qui détermine quand un conteneur est prêt à accepter le trafic. Lorsqu’un pod n’est pas prêt, il est retiré des répartiteurs de charge du service.