2

3 つのデータ センターに分散された mongo の操作

この例では、データセンター名は A、B、C です

すべてが順調に進んでいる場合、すべてのユーザー トラフィックは A に向けられます

したがって、mongo プライマリは A にあり、mongo セットアップは次のとおりです。

  • A に 3 台のサーバー (優先度が高い)
  • B に 1 台のサーバー (優先度が低い)
  • C の 1 サーバー (優先度 0 )

問題は、2 つのシナリオが発生した場合の mongo-writes のサポートです。

  1. ABC 間にネットワークがない (ネットワーク トンネルがダウンしている)
  2. データ キャンター A が燃えています :)、データ センターが機能していないとします。この時点で、すべてのユーザー トラフィックが B に向けられており、B での予備選挙が予想されます。

シナリオ 1 は問題ではありません。データセンター ネットワーク トンネルが存在しない場合、A には依然として大部分のレプリカがあり、優先度が高いため、すべてがまだ機能しています。

シナリオ 2 は機能しません。これは、A が動作を停止した場合、(A 上の) 3 つのレプリカすべてに到達できないためです。このように、レプリカの大部分がダウンしているため、B または C で新しいプライマリが再処理されることはありません。

2 つのシナリオをサポートするようにレプリカ セットをセットアップするにはどうすればよいですか?

4

1 に答える 1