Passer au contenu principal
Menu
DevOps

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.

Dépôt bientôt disponible
GoGoroutinesNet/HTTPWebhooksConcurrency
Phase 1

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).

Phase 2

Méthodologie d'Apprentissage

  1. 1

    Design : config YAML liste services à monitorer + health endpoints

  2. 2

    Goroutines pour check parallèles (pas d'attente séquentielle)

  3. 3

    Retry logic + exponential backoff pour réseau instable

  4. 4

    Webhook notifications sur status changes (Slack, custom endpoints)

  5. 5

    Metrics Prometheus pour tracking disponibilité historique

Phase 3

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.

Phase 4

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

All Projects