Docs Menu
Docs Home
/
MongoDB マニュアル
/ / /

自己管理型レプリカセット プロトコル バージョン

MongoDB はレプリカセット プロトコル バージョン1のみをサポートしています( pv1 )。 すべての新しいレプリカセットのデフォルトはpv1です。

pv1を使用すると、 catchUpTimeoutMillisを使用して、フェイルオーバーの迅速化とw:1書込み(write)の保持のどちらを優先するかを設定できます。

pv1 は確認済みのw: "majority"書込み(write)の保持を保証します。

pv1 は MongoDB バージョン3.2以降で使用可能で、すべての新しいレプリカセットのデフォルトです。

pv1 は、ベクトルを使用しません。 個々のノードは特定の選挙で候補者に投票したり、候補者に投票したりできますが、個別に選挙を単独で拒否した(中止)ことはできません。

状況によっては、 replica set内の 2 つのノードが一時的に自分たちがプライマリであると認識することがありますが、最大でそのうちの 1 つが{ w: "majority" }書き込み懸念で書き込みを完了できます。 { w: "majority" }書き込みを完了できるノードは現在のプライマリであり、もう一方のノードは、通常はネットワークパーティションが原因で降格をまだ認識していない以前のプライマリです。これが発生すると、以前のプライマリに接続するクライアントは、読み取り設定primaryを要求したにもかかわらず、古いデータを検出する可能性があり以前のプライマリへの新しい書き込みは最終的にロールバックされます。

pv1 は というタームの概念を使用します。 これにより、同時プライマリをより早く検出し、短期間に複数の選挙で成功させることができます。

pv1 では、使用可能なpriorityが最も高いセカンダリが選挙を呼び出すよう「ベストエフォート」による試行が行われます。 これにより、優先順位の高いノードが選挙を呼び出すことができるため、連続した選挙が行われる可能性があります。

ただし、 pv1の場合 :

  • 優先順位の高いノードが現在のプライマリから10秒以内にのみ実行されるように制限されました。

  • アービタは、候補者と同等かそれ以上の優先順位を持つ正常なプライマリを検出した場合、選挙でいずれも投票しません。

pv1 は、1 つのノードの選挙呼び出しでのdouble投票を防止します。 This is achieved through its use of terms.

戻る

構成