3 ポイント 投稿者 GN⁺ 2023-09-04 | 1件のコメント | WhatsAppで共有
  • この記事は、理解しやすいように設計されたコンセンサスアルゴリズムである Raft Consensus Algorithm について論じており、耐障害性と性能の面で Paxos と同等である。
  • コンセンサスは、複数のサーバーがある値について合意しなければならない耐障害分散システムにおける基本的な問題である。ある値について決定が下されると、それは最終的なものとなる。
  • Raft アルゴリズムは、耐障害システムを構築するために、レプリケートされたステートマシンの文脈で使用される。各サーバーはステートマシンとログを持つ。ステートマシンは耐障害性を備える必要があるコンポーネントである。
  • Raft アルゴリズムは、あるステートマシンがコマンドを n 番目のコマンドとして適用した場合、他のステートマシンが別の n 番目のコマンドを適用しないことを保証する。これにより、各ステートマシンは同一の一連のコマンドを処理し、同じ結果を生成する。
  • この記事は、Raft クラスターがブラウザー内で実行される様子を可視化し、Raft の動作を理解する助けとなる。
  • この記事は、Raft の優れた入門として役立つ出版物と講演の一覧も提供している。
  • この記事は、さまざまな開発段階で利用可能な Raft の多くの実装を列挙しており、ソースコードも提供している。
  • Raft とその実装について質問するのに最適な場所は、raft-dev Google グループである。
  • この記事は、Creative Commons Attribution 3.0 Unported License の下でライセンス提供されている。

1件のコメント

 
GN⁺ 2023-09-04
Hacker Newsの意見
  • Raftコンセンサスアルゴリズムは、シンプルでありながら堅牢な分散システム学習用アルゴリズムであり、現実世界で多くの応用分野を持っています。
  • Jepsenが作成したMaelstromワークベンチには、Raftのモデル検証実装とその実装方法に関する優れたチュートリアルが含まれています。
  • Raftアルゴリズムはそのシンプルさで注目されていますが、元の論文には、おもちゃの実装ではしばしば無視される多くの正確性に関する詳細が含まれています。
  • 実際のハードウェアにおける障害の可能性、厳格なレイテンシSLA、柔軟なクォーラムや動的クラスターメンバーシップの必要性により、Raftを製品向けに実装することは長く困難な作業です。
  • Raftの論文は読みやすく、実装したくない人にとってさえ優れた直感を与えてくれます。
  • Raftを使用するソフトウェアには、etcd、consul、cockroach、tidbが含まれます。
  • Raftの概念的な明瞭さと優雅さは、性能と信頼性に表れることがあります。
  • Raftは十分に理解されており、強力なライブラリエコシステムを持っているため、これを実装する人々にとって有益です。
  • Raftに伴うシンプルさと推論のしやすさは、技術コミュニティの多くの人々に認められています。
  • 一部のユーザーは、コンセンサスプロトコルの初心者にはBitcoinから始めて、その後Paxos/Tendermint/Simplexに進み、Raftは完全に飛ばすことを勧めています。
  • シンプルさにもかかわらず、Raftは依然として多くの微妙な点を持つ複雑なアルゴリズムであり、一部のユーザーは理解と実装に苦労しています。
  • Raftコンセンサスアルゴリズムは理解しやすいように設計されており、耐障害性と性能の面でPaxosと同等です。
  • このアルゴリズムは比較的独立した部分問題へと分解されており、実用的なシステムに必要な主要な部分をすべて扱っています。
  • 一部のユーザーは、Raftコンセンサスアルゴリズムの可視化や説明が不明瞭または混乱を招くと感じています.