concepto · intermedio · 2 min de lectura
Consenso Distribuido
El consenso distribuido es el problema de lograr que múltiples nodos se pongan de acuerdo en un valor o secuencia de operaciones, incluso en presencia de fallas.
No requiere conocimientos previos.
Alcance en breve
Cubre
- Consenso Distribuido as a concept
No cubre
- implementation details
Supone
- The reader understands relevant fundamentals.
Resumen
El consenso es uno de los problemas fundamentales de los sistemas distribuidos: varios nodos necesitan acordar un valor —quién es el líder, cuál es la transacción commitada, cuál es el estado del cluster— y todos deben llegar a la misma decisión, incluso si algunos nodos fallan o la red se parte.
Los algoritmos de consenso —Paxos, Raft, Zab— garantizan seguridad: nunca dos nodos deciden distinto. Y eventual liveness: si la mayoría de los nodos están vivos y la red funciona, eventualmente se toma una decisión. Son la base de sistemas como etcd, Zookeeper, y la replicación en bases de datos distribuidas.
Alcance y supuestos
Cubre el problema del consenso, los algoritmos principales y su rol en la infraestructura moderna. Asume familiaridad con sistemas distribuidos.
Modelo mental
Un grupo de amigos decidiendo dónde cenar por chat. Si todos responden, es fácil. Pero si uno se queda sin batería, los demás tienen que decidir: ¿esperamos? ¿Decidimos sin él? El consenso distribuido es ese problema, pero con la restricción de que todos los que decidieron deben haber elegido el mismo restaurante.
Uso práctico
- ✅ Leader election, replicated state machines, distributed locks.
- ❌ Sistemas que no requieren acuerdo fuerte entre nodos.
Ejemplo trabajado: Raft en etcd
Tres nodos etcd. El nodo A es el líder actual. Recibe escrituras, las replica a B y C, y cuando la mayoría confirma, hace commit. Si A falla, B y C ejecutan una elección y B se convierte en el nuevo líder. El cluster nunca queda sin líder más de unos milisegundos.
Evidencia
- Wikipedia, Raft y Wikipedia, Paxos documentan los algoritmos canónicos de consenso.
Fuentes citadas
- Wikipedia, Raft (algorithm) (Síntesis, 21-07-2026)