ScholarGate
Asistente

Paxos y Raft

Paxos y Raft son los dos protocolos de consenso prácticos más influyentes, que proporcionan un acuerdo tolerante a fallos por caídas en un registro replicado que sustenta los sistemas de coordinación del mundo real.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

Paxos y Raft son protocolos basados en quórum que permiten a un conjunto de réplicas acordar una secuencia ordenada de comandos (un registro replicado) a pesar de los fallos por caídas, asegurando que las entradas confirmadas nunca se pierdan o reordenen siempre que la mayoría de las réplicas permanezcan disponibles.

Scope

Este tema cubre la familia Paxos —Paxos de decreto único, Multi-Paxos y sus mejoras de ingeniería— y el protocolo Raft, que reorganiza las mismas garantías en torno a un líder explícito, replicación de registros y cambio de membresía para facilitar la comprensión. Cubre los roles de proponentes/aceptadores y líderes/seguidores, intersección de quórum, elección de líder y términos, coincidencia de registros y las preocupaciones prácticas de las instantáneas y la reconfiguración.

Core questions

  • ¿Cómo la intersección de quórum y la numeración de propuestas mantienen a Paxos seguro a través de rondas y cambios de líder?
  • ¿Cómo descompone Raft el consenso en elección de líder, replicación de registros y seguridad?
  • ¿Qué desafíos de ingeniería surgen al convertir estos protocolos en sistemas de producción?

Key theories

Paxos de decreto único y Multi-Paxos
Paxos llega a un acuerdo sobre un valor a través de fases de preparación y aceptación gobernadas por números de propuesta monotónicos y quórums mayoritarios; Multi-Paxos amortiza la fase de preparación a través de un flujo de decisiones liderado por un líder estable para construir un registro replicado.
Descomposición de Raft
Raft logra la misma seguridad que Paxos al elegir un único líder por término, haciendo que el líder añada entradas que los seguidores replican, y aplicando una propiedad de coincidencia de registros, intercambiando deliberadamente la minimalidad por la comprensibilidad y la facilidad de implementación.
De la especificación al sistema en funcionamiento
La implementación de Paxos en la práctica requiere manejar fallos de disco, arrendamientos de líder, compactación de registros y reconfiguración, detalles a menudo pasados por alto en el algoritmo original pero esenciales para la corrección y el rendimiento.

Clinical relevance

Paxos y Raft se ejecutan dentro de servicios de coordinación, bases de datos distribuidas y almacenes de configuración ampliamente utilizados; comprenderlos es esencial para construir u operar cualquier sistema que deba mantener las réplicas fuertemente consistentes a través de fallos.

History

Lamport describió Paxos en su artículo de 1998 'part-time parliament' y lo clarificó en 'Paxos made simple' (2001); Chandra y sus colegas informaron sobre las realidades de hacerlo funcionar a escala en 2007; y Ongaro y Ousterhout introdujeron Raft en 2014 para hacer que las garantías equivalentes fueran mucho más fáciles de enseñar e implementar.

Debates

Comprensibilidad versus minimalidad en los protocolos de consenso
Raft fue diseñado explícitamente para ser más fácil de entender que Paxos, lo que provocó un debate sobre si su estructura adicional (un líder fuerte) sacrifica la flexibilidad; los defensores argumentan que la comprensibilidad reduce los errores de implementación, mientras que otros señalan que las variantes de Paxos pueden ser más generales.

Key figures

  • Leslie Lamport
  • Diego Ongaro
  • John Ousterhout
  • Tushar Chandra

Related topics

Seminal works

  • lamport1998
  • ongaro2014
  • chandra2007

Frequently asked questions

¿Son Paxos y Raft algoritmos fundamentalmente diferentes?
No, resuelven el mismo problema con el mismo núcleo de quórum mayoritario y garantías de seguridad equivalentes. Raft principalmente reorganiza Paxos en torno a un líder fuerte y un registro explícito para hacer que el protocolo sea más fácil de entender e implementar.

Methods for this concept

Related concepts