8 points par xguru 2026-01-29 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Microservice de type sidecar conçu pour détecter en temps réel l’état d’un cluster PostgreSQL
  • Permet de vérifier immédiatement la disponibilité d’un hôte, s’il s’agit du master ou d’un replica, ainsi que le délai de réplication
  • Architecture légère et performante : environ 9 MiB de mémoire utilisée, avec une faible charge CPU par requête, pour traiter jusqu’à 9 000 requêtes par seconde
  • Toutes les données sont fournies via des réponses en mémoire, afin de minimiser la latence des requêtes
  • Interroge périodiquement en arrière-plan l’état des hôtes PostgreSQL et expose les résultats via une API HTTP (réponses en texte brut/JSON)
  • Principaux endpoints de l’API
    • /master : renvoie l’hôte master actuel
    • /replica : renvoie un replica sélectionné via un algorithme round-robin
    • /sync_by_time, /sync_by_bytes : renvoient un replica selon l’état de synchronisation en temps ou en octets
    • /hosts : liste l’état de tous les hôtes (JSON)
    • /status : affiche l’état détaillé d’un hôte donné
  • Configuration via variables d’environnement : contrôle fin de paramètres comme le timeout de connexion, la limite de retard autorisée ou encore la fréquence de polling
  • Conception lock-free avec un seul writer et plusieurs readers, pour des lectures rapides et des données à jour
    • Accepte la possibilité d’incohérences temporaires afin d’optimiser la vitesse de réponse
  • Enregistre sur stdout/stderr les événements de démarrage/arrêt du service et les changements d’état, avec affichage en temps réel des failovers, récupérations et changements d’état de synchronisation
  • Permet de simuler des scénarios de bascule master-replica à l’aide d’un proxy

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.