質問

どうですか ラフトコンセンサスアルゴリズム MongoDB が予備選挙を選択する際に他の要素 (優先度など) を考慮するという点以外、MongoDB の予備選挙プロセスとは異なりますか?

役に立ちましたか?

解決

MongoDB 2.4 におけるコンセンサス アプローチの主な違いは次のとおりです。

  • ラフトは 強いリーダー モデル。リーダーは、リーダーから他のサーバーへのレプリケーションとデータ フローを管理する責任があります。MongoDB レプリカ セットでは、セカンダリは操作ログに従います (オプログ) 上流ホストのプライマリまたは新しい oplog を持つセカンダリのいずれかになります。

  • Raft には考慮すべきノード状態が 3 つだけあります。リーダー (プライマリー)、フォロワー (セカンダリー)、または候補者 (指名されたプライマリー)。MongoDB には 追加のノード状態 などの潜在的なエラー状態をさらに含めることを検討します。 RECOVERING または SHUNNED ノード、または 遅延レプリカ セット メンバー.

  • Raft では、各ノードは選挙期間ごとに 1 回だけ候補ノードに投票できます。MongoDB では、レプリカ セット構成の一部としてノードごとの投票を調整できるため、一部のノードが投票しないか、複数の投票を持つ可能性があります (注:複数投票設定は現在非推奨になっています。 MongoDB 2.5 開発ブランチ).

  • ラフトは 共同合意 このアプローチにより、構成変更中にクラスターが動作し続けることが可能になります。MongoDB では、新しいプライマリを選択するには投票ノードの絶対多数が必要です。選択の進行中は、レプリカ セットにはプライマリがないため、書き込みを受け入れることができません。

より詳細な情報については、Raft 紙を比較してください。 理解可能なコンセンサスアルゴリズムを求めて 上のドキュメントを使って MongoDB レプリカ セットの選択.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top