3 pontos por GN⁺ 2023-09-04 | 1 comentários | Compartilhar no WhatsApp
  • Este artigo discute o Raft Consensus Algorithm, um algoritmo de consenso projetado para ser fácil de entender, e que é equivalente ao Paxos em termos de tolerância a falhas e desempenho.
  • Consenso é um problema fundamental em sistemas distribuídos tolerantes a falhas, nos quais vários servidores precisam concordar sobre um valor. Quando uma decisão sobre um valor é tomada, ela é definitiva.
  • O algoritmo Raft é usado no contexto de máquinas de estado replicadas para construir sistemas tolerantes a falhas. Cada servidor tem uma máquina de estado e um log. A máquina de estado é o componente que precisa ter tolerância a falhas.
  • O algoritmo Raft garante que, se alguma máquina de estado aplicar um comando como o n-ésimo comando, outra máquina de estado não aplicará um n-ésimo comando diferente. Com isso, cada máquina de estado processa a mesma sequência de comandos e produz o mesmo resultado.
  • Este artigo ajuda a entender como o Raft funciona ao visualizar um cluster Raft rodando no navegador.
  • O artigo também fornece uma lista de publicações e palestras que servem como uma boa introdução ao Raft.
  • O artigo lista muitas implementações de Raft utilizáveis em vários estágios de desenvolvimento e também fornece código-fonte.
  • O melhor lugar para fazer perguntas sobre o Raft e suas implementações é o grupo Google raft-dev.
  • Este artigo é licenciado sob a Creative Commons Attribution 3.0 Unported License.

1 comentários

 
GN⁺ 2023-09-04
Comentários do Hacker News
  • O algoritmo de consenso Raft é um algoritmo de aprendizado de sistemas distribuídos simples e robusto, com muitas aplicações no mundo real.
  • O workbench Maelstrom, criado pela Jepsen, inclui uma excelente implementação de verificação de modelo do Raft e um ótimo tutorial sobre como implementá-lo.
  • O algoritmo Raft chama atenção pela simplicidade, mas o artigo original inclui muitos detalhes de correção que frequentemente são ignorados em implementações de brinquedo.
  • Implementar o Raft para uso em produtos é um trabalho longo e difícil por causa da possibilidade de falhas no hardware real, SLAs rígidos de latência e da necessidade de quórum flexível/associação dinâmica de membros do cluster.
  • O artigo sobre Raft é fácil de ler e oferece uma ótima intuição até mesmo para quem não pretende implementá-lo.
  • Softwares que usam Raft incluem etcd, consul, cockroach e tidb.
  • A clareza conceitual e a elegância do Raft podem aparecer em desempenho e confiabilidade.
  • O Raft é bem compreendido e tem um ecossistema robusto de bibliotecas, o que beneficia quem o implementa.
  • A simplicidade e a facilidade de raciocínio trazidas pelo Raft são reconhecidas por muitas pessoas na comunidade técnica.
  • Alguns usuários recomendam que iniciantes em protocolos de consenso comecem por Bitcoin e depois avancem para Paxos/Tendermint/Simplex, pulando totalmente o Raft.
  • Apesar da simplicidade, o Raft ainda é um algoritmo complexo com muitas sutilezas, e alguns usuários têm dificuldade para entendê-lo e implementá-lo.
  • O algoritmo de consenso Raft foi projetado para ser fácil de entender e é equivalente ao Paxos em tolerância a falhas e desempenho.
  • O algoritmo é decomposto em subproblemas relativamente independentes e cobre todas as partes principais necessárias para sistemas práticos.
  • Alguns usuários consideraram as visualizações e explicações do algoritmo de consenso Raft pouco claras ou confusas.