2

mongodb を使用して、キャッシュされたデータベースを、必要に応じて EC2 で起動する分散ワーカー ノードに配布したいと考えています。ノードが起動すると、mongo のローカル コピーがデータベースのマスター コピー (mongomaster.mycompany.com など) に接続し、データベースの新しいコピーをプルダウンする必要があります。ノードがシャットダウンされてプールから解放されるまで、マスターから変更を複製し続ける必要があります。

要件は、起動されている個々のスレーブをマスターが認識する必要がなく、スレーブがマスター外部の他のノード (mongomaster.mycompany.com) を認識する必要がないことです。

スレーブは読み取り専用である必要があり、マスターは書き込みを受け入れる唯一のノードになります (これらの ec2 ノードのいずれかからは決して受け入れません)。

レプリカ セットを調べましたが、これは不可能のようです。以前にマスター/スレーブ設定でこれと同様のことを行ったことがありますが、信頼性がありませんでした。マスター/スレーブ レプリケーションは、突発的な壊滅的な障害を起こしがちでした。

4

1 に答える 1

0

レプリカセットについて: プライマリ (および他のノード) から見えないセット メンバーを持つことができるとは思いませんが、レプリケーションが必要なため、特定のノード調整して、必要なものにかなり近づけることができます。

  • 新しく起動したノードを優先度 0 に設定します (つまり、プライマリになることはできません)。
  • 新しく起動したノードを「非表示」に設定します

優先度 0非表示ノードの詳細へのリンクを次に示します。

于 2012-05-21T18:26:01.850 に答える