Alta Disponibilidad · Recuperación ante Desastres

Diseñado para nunca quedarse a oscuras.

Cada componente funciona en caliente. Los nodos activo y standby de la BD se replican continuamente. Una IP virtual flota sobre el clúster — keepalived vigila al primario, y en cuanto deja de responder, el tráfico va al standby antes de que el espectador medio note un buffer. Esto no es un tutorial de Postgres añadido a un SaaS — es infraestructura de primera clase en la que tu operador nunca tiene que pensar.

99.999%
Objetivo de Nivel de Servicio
<30s
Recuperación de Conmutación
3×
Objetivos de Replicación
0
Acción del Operador Requerida
§ ATopología
Anatomía del Clúster

Tres nodos, una verdad.

Un par de BD activo/standby se replica sobre una red privada. Un par de balanceadores nginx participa en VRRP por una IP virtual que flota entre ellos. El clúster de aplicación lee a través de un pool de conexiones que se vacía y reintenta cuando el primario se mueve. Cada enlace tiene doble ruta.

Topología · HA-Clúster-0013 nodes · vrrp v3
VIRTUAL IP10.0.0.100● PRIMARYdb-01writes · accepting○ STANDBYdb-02replicating · warmAPP CLUSTERtuse · ott · prism○ LB-Anginx · keepalivedvrrp master○ LB-Bnginx · keepalivedvrrp backupCLIENT TRAFFIC ↑ 12.4M CCV
§ BConmutación
Recorrido de menos de 30 segundos

Qué ocurre, segundo a segundo.

Cuando un nodo primario falla, la recuperación ocurre en 4 pasos ordenados. Acción del operador: cero. Perturbación del lado del cliente: más corta que una retransmisión TCP.

T+0s

Latido perdido

El keepalived del standby deja de recibir los anuncios VRRP del primario. Tras 3 balizas perdidas (~1.5s), el standby se promueve a sí mismo.

Detección · 1.5s
T+2s

Promoción + STONITH

El nuevo primario aísla el nodo viejo — apagado vía API cloud — y acepta escrituras. La dirección de replicación se invierte; el nodo recuperado se reincorporará como standby.

Promoción · 2s
T+5s

Migra la IP virtual

La IP virtual VRRP se mueve a la NIC del nuevo primario. El pool de conexiones de la capa de aplicación se vacía; las consultas en vuelo se reintentan contra el nuevo endpoint.

Migración VIP · 3s
T+<30s

Estado estable

El servicio se restaura. El nodo recuperado, cuando es alcanzable, sincroniza y se une como standby caliente. Se escriben entradas en el registro de auditoría. El operador recibe una sola notificación — después del hecho.

Recuperación completa · 30s
§ CMatriz

Qué se preserva — y qué no.

Lecturas
Continuas. El standby sirve réplicas de lectura durante la conmutación; los clientes nunca ven una interrupción en el tráfico de lectura.
Escrituras
Suspendidas brevemente (< 5 segundos) durante la promoción. Las escrituras en vuelo son reintentadas por el pool de conexiones con claves de idempotencia.
Sesiones de usuario
Basadas en JWT, sin estado. Las sesiones persisten a través de la conmutación sin reautenticación.
Trabajos en segundo plano
Las colas BullMQ están respaldadas por Redis y sobreviven a la conmutación. Los trabajos en curso completan en el nuevo primario.
Streams en vivo
Los servidores origen son independientes de la base de datos. La ingesta de stream y la entrega HLS no se ven afectadas.
Panel del operador
Se renderiza contra el nuevo primario en el momento en que la VIP migra. El registro de auditoría muestra el evento de conmutación.
§ ∞Háblanos
Pilota un clúster HA gestionado

Uptime de grado ingeniero.