8 puntos por xguru 2026-01-29 | Aún no hay comentarios. | Compartir por WhatsApp
  • Microservicio tipo sidecar diseñado para detectar en tiempo real el estado de un clúster de PostgreSQL
  • Permite verificar al instante si un host está activo, distinguir entre máster y réplica, y conocer la latencia de la réplica
  • Arquitectura ligera y de alto rendimiento: uso de memoria de unos 9 MiB y baja carga de CPU por solicitud, con capacidad de procesar hasta 9000 solicitudes por segundo
  • Todos los datos se entregan mediante respuestas basadas en memoria, minimizando la latencia de las solicitudes
  • Sondea periódicamente en segundo plano el estado de los hosts PostgreSQL y expone el resultado a través de una API HTTP (respuestas Plain/JSON)
  • Endpoints principales de la API
    • /master: devuelve el host máster actual
    • /replica: devuelve una réplica seleccionada mediante algoritmo round-robin
    • /sync_by_time, /sync_by_bytes: devuelve una réplica según el estado de sincronización por tiempo o por bytes
    • /hosts: lista el estado de todos los hosts (JSON)
    • /status: consulta el estado detallado de un host específico
  • Configuración basada en variables de entorno: permite un control detallado de aspectos como timeout de conexión, límite de retraso permitido y intervalo de sondeo
  • Diseño lock-free con una sola escritura y múltiples lectores para ofrecer respuestas de lectura rápidas y mantener los datos actualizados
    • Optimiza la velocidad de respuesta aceptando la posibilidad de inconsistencias temporales en los datos
  • Registra en stdout/stderr los eventos de inicio y cierre del servicio, así como los cambios de estado, y muestra en tiempo real el failover, la recuperación y los cambios en el estado de sincronización
  • Permite simular escenarios de conmutación entre máster y réplica basados en proxy

Aún no hay comentarios.

Aún no hay comentarios.