Vidéo 46 • Haute Disponibilité
Auto-Healing :
Le Cloud Résilient
Apprenez à concevoir des systèmes qui détectent leurs propres pannes et se réparent automatiquement sans intervention humaine.
L'objectif : Zéro Stress
Le Modèle "Pompier"
Le service tombe à 3h du matin. Vous êtes réveillé par un client furieux à 8h.
MTTR (Temps de réparation) : 5 heures.
Le Modèle "Auto-Healing"
Le service tombe à 3h00:00.
Le Gardien le détecte à 3h00:05.
Le service redémarre à 3h00:10.
MTTR : 10 secondes. Le client n'a rien vu.
Laboratoire : Surveillance de Cluster
Le Health Check asynchrone
Vérifier l'état de conscience
On ne vérifie pas seulement si le programme "tourne". On vérifie s'il "répond".
L'expert implémente une route /health. Si le service met plus de 5s à répondre, le Gardien considère qu'il est en "Mort Cérébrale" et le redémarre de force.
Implémentation du Watchdog
// 1. On interroge le bilan de santé du service local clReq est une httpRequête = "http://localhost:8080/health" clRep est une httpRéponse = HTTPEvoie(clReq) SI clRep.CodeEtat <> 200 ALORS // 2. ALERTE : Le service est planté ou figé ! Slack_Alerte("CRITICAL: Service Sync B ne répond plus.") // 3. ACTION AUTO-HEALING : On tue et on relance ExeTermine("Worker_Sync_B.exe") LanceAppli("Worker_Sync_B.exe") Slack_Alerte("RECOVERY: Service Sync B redémarré avec succès.") FIN