Saltar al contenido
Explorar conocimiento

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

Fuentes citadas