クォーラムとは?
くぉーらむ
クォーラムとは、分散システムにおいて意思決定や操作の実行に必要な最低限のノード数(通常は過半数)を指し、スプリットブレインを防ぐための基本的な仕組みです。
クォーラム(Quorum)は、もともとラテン語で「定足数」を意味する言葉で、分散コンピューティングの文脈では、クラスター内の複数ノードが意思決定やデータ操作を行う際に必要な最小同意数を指します。「過半数のノードが合意しなければ処理を進めない」というルールを設けることで、ネットワーク分断が発生しても誤ったリーダー選出やデータの二重書き込みを防ぎます。
クォーラムの基本原理は単純です。たとえば5ノードのクラスターでは、クォーラム数は3(過半数)に設定されます。ネットワーク障害で3対2に分断された場合、3ノードを持つ側だけがクォーラムを満たすためリーダーとして動作を継続でき、2ノード側は処理を停止します。これにより同時に2つのリーダーが存在するスプリットブレイン状態を防ぎます。
クォーラムはさまざまな分散アルゴリズムで活用されています。
- Raftコンセンサス:リーダー選出とログ複製にクォーラムを使用(TiKV、etcdなど)
- Paxosアルゴリズム:提案の承認にクォーラムを必要とする古典的なアルゴリズム
- ZooKeeper:分散コーディネーションにクォーラム方式を採用
- Elasticsearchクラスター:マスターノード選出にクォーラムを使用
クォーラムを適切に機能させるには奇数台のノード構成が推奨されます。偶数台の場合、ネットワーク分断で均等に二分割されるとどちらもクォーラムを満たせず、システム全体が停止するリスクがあります。そのため3台、5台、7台といった奇数構成がベストプラクティスとされています。
使い方・例文
ZooKeeperやetcdのクラスターを構築する際に「クォーラムを確保するため最低3台以上の奇数台構成にしてください」という形で登場します。
この用語をシェア
最終更新: