3 puntos por GN⁺ 2023-09-04 | 1 comentarios | Compartir por WhatsApp
  • Este artículo analiza el algoritmo de consenso Raft, diseñado para ser fácil de entender, y que es equivalente a Paxos en tolerancia a fallos y rendimiento.
  • El consenso es un problema fundamental en los sistemas distribuidos tolerantes a fallos, donde varios servidores deben ponerse de acuerdo sobre un valor. Una vez que se toma una decisión sobre un valor, esta es definitiva.
  • El algoritmo Raft se usa en el contexto de máquinas de estado replicadas para construir sistemas tolerantes a fallos. Cada servidor tiene una máquina de estado y un log. La máquina de estado es el componente que debe contar con tolerancia a fallos.
  • El algoritmo Raft garantiza que, si alguna máquina de estado aplica un comando como el enésimo comando, ninguna otra máquina de estado aplicará un comando distinto como ese mismo enésimo comando. Como resultado, cada máquina de estado procesa la misma secuencia de comandos y produce los mismos resultados.
  • Este artículo ayuda a entender cómo funciona Raft al visualizar un clúster de Raft ejecutándose en el navegador.
  • Este artículo también ofrece una lista de publicaciones y charlas como buena introducción a Raft.
  • Este artículo enumera muchas implementaciones de Raft utilizables en distintas etapas de desarrollo, y también proporciona código fuente.
  • El mejor lugar para hacer preguntas sobre Raft y sus implementaciones es el grupo de Google raft-dev.
  • Este artículo está licenciado bajo Creative Commons Attribution 3.0 Unported License.

1 comentarios

 
GN⁺ 2023-09-04
Comentarios en Hacker News
  • El algoritmo de consenso Raft es un algoritmo de aprendizaje de sistemas distribuidos simple pero robusto, con muchas aplicaciones en el mundo real.
  • El banco de trabajo Maelstrom creado por Jepsen incluye una excelente implementación de verificación de modelos de Raft y un gran tutorial sobre cómo implementarlo.
  • El algoritmo Raft destaca por su simplicidad, pero el artículo original incluye muchos detalles de corrección que a menudo se ignoran en implementaciones de juguete.
  • Implementar Raft para un producto es una tarea larga y difícil debido a la posibilidad de fallas en hardware real, SLA estrictos de latencia y la necesidad de quórums flexibles o membresía dinámica del clúster.
  • El artículo de Raft es fácil de leer y ofrece una gran intuición incluso para quienes no quieren implementarlo.
  • Entre los programas que usan Raft están etcd, consul, cockroach y tidb.
  • La claridad conceptual y la elegancia de Raft pueden reflejarse en el rendimiento y la confiabilidad.
  • Raft es bien entendido y cuenta con un ecosistema sólido de librerías, lo que beneficia a quienes lo implementan.
  • Muchas personas en la comunidad técnica reconocen la simplicidad y la facilidad de razonamiento que aporta Raft.
  • Algunos usuarios recomiendan que quienes se inician en protocolos de consenso comiencen con Bitcoin, luego pasen a Paxos/Tendermint/Simplex y se salten Raft por completo.
  • A pesar de su simplicidad, Raft sigue siendo un algoritmo complejo con muchos matices, y a algunas personas les cuesta entenderlo e implementarlo.
  • El algoritmo de consenso Raft fue diseñado para ser fácil de entender y es equivalente a Paxos en tolerancia a fallas y rendimiento.
  • El algoritmo se descompone en subproblemas relativamente independientes y cubre todas las partes principales necesarias para un sistema práctico.
  • Algunas personas encontraron que las visualizaciones y explicaciones del algoritmo de consenso Raft eran poco claras o confusas.