0

2 つのデータ センターに mongo ノードを分散する必要があります。

フォールトトレランステーブルに少し混乱しています:

メンバー数 = 4

新しい予備選挙の選出に必要な過半数 = 3

数字の 4 は、合計 5 人の投票メンバーが必要であることを意味しますか、それとも 3 人の投票メンバーと 1 つの優先度 0 の非公開メンバーを持つことができますか?

例えば ​​:

  • DC1 : P、H (優先度=0)
  • DC2 : 小、小

DC1 が停止した場合、DC2 はプライマリを選択しますか?

DC2 がダウンしている場合、H をアービトラーに変換する必要がありますか?それともプライマリのままになりますか?

基本的に、DC 障害時に自動プライマリ選択 (最小限の手作業での選択) を保証する 2 つの DC 用のレプリカセットの推奨構成を誰かが提供できれば、それは素晴らしいことです。

よろしくお願いします、 カニスカ

4

1 に答える 1

0

数字の 4 は、合計 4 人の投票メンバーが必要であることを意味しますか、それとも 3 人の投票メンバー + 1 つの優先度 0 の非表示メンバーを持つことができますか?

優先度 0 のメンバーは、投票できるメンバーです。プライオリティ 0 は、ノードがプライマリになることができないことを意味します (そして、選択をトリガーすることはできません)。

サンプル セットアップでは、2 つのデータ センター間で均等に分割された合計 4 つのノードのみが示されています。過半数はまだ 3 であるため、いずれかのデータ センターがダウンした場合、レプリカ セットは異常になり、読み取り専用 (プライマリなし) になります。

一方の DC に障害が発生すると、他方の DC のプライマリへの自動フェイルオーバーが発生する 2 DC セットアップを作成するには、いずれかのデータ センターの外部にノードが存在する必要があります。すべてのノードが 2 つのデータ センター (および奇数のノード) に分割されているため、少なくとも 1 つのデータ センターにノードの大部分があります。そのデータ センターがダウンした場合、過半数を保持しているデータ センターがダウンしている間、レプリカ セットは正常な状態を自動的に回復できません。このような状況を考えると、一般的なパターンは、ノードを 2 つのデータ センター間で均等に分割し、いずれかの外部にアービターを配置することです。

于 2015-02-08T06:39:24.153 に答える