CONCURRENT HEALTH CHECKER
Système de surveillance haute performance utilisant la concurrence pour vérifier la disponibilité des services et alerter en temps réel.
Contexte
Services meurent sans qu'on le sache (même avec monitoring). Besoin outil dédié : check disponibilité service (health endpoints) en parallèle, alerter si problème. Go = language parfait (goroutines, concurrence native).
Méthodologie d'Apprentissage
- 1
Design : config YAML liste services à monitorer + health endpoints
- 2
Goroutines pour check parallèles (pas d'attente séquentielle)
- 3
Retry logic + exponential backoff pour réseau instable
- 4
Webhook notifications sur status changes (Slack, custom endpoints)
- 5
Metrics Prometheus pour tracking disponibilité historique
Défis Techniques
Goroutine leaks (contextes non-fermés)
Solution : context.Context avec timeout + defer cancel().
Flood notifications (alertes répétées identiques)
Solution : state tracking (service OK/DOWN) + notification seulement sur changement.
Timeouts réseau trop agressifs ou trop laxes
Solution : timeouts configurables + retry logic avec backoff exponentiel.
Résultats
Health checker surveille 50+ services en parallèle
Latency détection : ~2s entre problème et alerte
Compétence : concurrence Go (goroutines, channels)
Applicable : any service monitoring, health check infra
Explore More