コンセンサス・アルゴリズムのメモ
Elasticsearch
安全モジュールと呼ばれる独自のアルゴリズムを使うそう. Raftではない理由についても言及されている.
アルゴリズムの中核となる安全モジュールはシンプルかつ簡潔であり、Elasticsearchリポジトリの公式モデルとプロダクションコードの間は1対1で直接対応しています。 Paxos、Raft、Zab、Viewstamped Replication(VR)などの分散合意アルゴリズムのファミリーに精通していれば、中核となる安全モジュールについてもよく分かります。これは単一の書き換え可能なレジスタをモデル化し、Paxosの投票、Raftのターム、VRのビューに類似したマスター用語の概念を使用します。また、中核となる安全モジュールとその公式モデルは、クラスターブートストラップ、ノードの再起動における永続性、動的な再構成にも対応します。これらすべての機能は、システムがどのような状況でも適切に動作するために重要です。
新世代Elasticsearchクラスターコーディネーション | Elastic Blog
Hadoop
Zookeeperを使うらしい.
Hadoopにおいて用いられる分散ファイルシステムのHDFSにおいては,ファイルのメタデータを管理するNameNodeの可用性向上のために,NameNodeを複数台構成にし,それらへの更新をStrong ConsistentにするためにZookeeperを用います
第12回 複数のプロセスにおける協調動作のための仕組み─コーディネーション | gihyo.jp
Cassandra
Paxosを使うらしい.
Cassandra uses a Paxos consensus protocol implementation that creates strong consistency.
Apache Cassandra | Apache Cassandra Documentation
コンセンサス・アルゴリズムのリスト
- Paxos
- Raft
- Zab
- Viewstamped Replication
- Two-Phase Commit
- Three-Phase Commit
- Chandra–Toueg consensus algorithm
- Chubby