3 points par GN⁺ 2023-09-04 | 1 commentaires | Partager sur WhatsApp
  • Cet article traite de l’algorithme de consensus Raft, conçu pour être facile à comprendre, et équivalent à Paxos en matière de tolérance aux pannes et de performances.
  • Le consensus est un problème fondamental dans les systèmes distribués tolérants aux pannes, où plusieurs serveurs doivent s’accorder sur une valeur. Une fois qu’une décision sur une valeur est prise, elle est définitive.
  • L’algorithme Raft est utilisé dans le contexte des machines à états répliquées pour construire des systèmes tolérants aux pannes. Chaque serveur dispose d’une machine à états et d’un journal. La machine à états est le composant qui doit bénéficier de la tolérance aux pannes.
  • L’algorithme Raft garantit que si une machine à états applique une commande comme n-ième commande, alors aucune autre machine à états n’appliquera une commande différente comme n-ième commande. Ainsi, chaque machine à états traite la même série de commandes et produit le même résultat.
  • Cet article aide à comprendre le fonctionnement de Raft en visualisant un cluster Raft s’exécutant dans le navigateur.
  • Cet article fournit également une liste de publications et de conférences constituant une bonne introduction à Raft.
  • Cet article répertorie de nombreuses implémentations de Raft, utilisables à différents stades de développement, et fournit aussi le code source.
  • Le meilleur endroit pour poser des questions sur Raft et ses implémentations est le groupe Google raft-dev.
  • Cet article est diffusé sous licence Creative Commons Attribution 3.0 Unported License.

1 commentaires

 
GN⁺ 2023-09-04
Avis Hacker News
  • L’algorithme de consensus Raft est un algorithme d’apprentissage des systèmes distribués à la fois simple et robuste, avec de nombreuses applications dans le monde réel.
  • L’atelier Maelstrom créé par Jepsen comprend une excellente implémentation de vérification de modèle de Raft ainsi qu’un très bon tutoriel sur la manière de l’implémenter.
  • L’algorithme Raft attire l’attention par sa simplicité, mais l’article original contient de nombreux détails de correction souvent ignorés dans les implémentations jouets.
  • Implémenter Raft pour un produit est un travail long et difficile en raison des défaillances possibles du matériel réel, des SLA de latence stricts et du besoin de quorums flexibles / d’une appartenance dynamique au cluster.
  • L’article sur Raft est facile à lire et offre une excellente intuition, même à ceux qui ne souhaitent pas l’implémenter.
  • Parmi les logiciels utilisant Raft, on trouve etcd, consul, cockroach et tidb.
  • La clarté conceptuelle et l’élégance de Raft peuvent se refléter dans ses performances et sa fiabilité.
  • Raft est bien compris et dispose d’un solide écosystème de bibliothèques, ce qui est utile à ceux qui l’implémentent.
  • La simplicité et la facilité de raisonnement apportées par Raft sont reconnues par de nombreuses personnes dans la communauté technique.
  • Certains utilisateurs recommandent aux débutants en protocoles de consensus de commencer par Bitcoin, puis de passer à Paxos/Tendermint/Simplex, en sautant complètement Raft.
  • Malgré sa simplicité, Raft reste un algorithme complexe avec de nombreuses subtilités, et certains utilisateurs ont du mal à le comprendre et à l’implémenter.
  • L’algorithme de consensus Raft a été conçu pour être facile à comprendre et offre une tolérance aux pannes et des performances équivalentes à celles de Paxos.
  • L’algorithme est décomposé en sous-problèmes relativement indépendants et couvre toutes les composantes majeures nécessaires à un système pratique.
  • Certains utilisateurs ont trouvé les visualisations et les explications de l’algorithme de consensus Raft peu claires ou déroutantes.