2011-07-21 15 views
2

私は私のWindows Server上にMongoDBを使用したいと私はで.NETコードを使用しています:私は、私は上のMongoDBをホストし、維持する必要がある2つのWebサーバーを持っているのMongoDB - 複数のサーバでホスティング

https://github.com/atheken/NoRM/wiki/ 

両方のインスタンスのデータベースが同期しています。これを達成するにはどうすればいいですか?マスター/スレーブレプリケーションオプションが理想的です。

私はこれを行う場合、私は私の接続文字列のように続けることができますか?

mongodb://localhost/MyDatabase?strict=false 

任意の助けてくれてありがとう。これはMongoDBを使った私の最初の試みです。

+0

は、なぜあなたは私が求めることができるならば、二つのサーバが必要なのでしょうか? – Phil

+0

2つのWebサーバーとロードバランサがあります。目標は、トラフィックがプライマリWebサーバーに当たった場合、メインのMongoDBデータベースにヒットし、それ以外の場合はスレーブになります。データがスレーブに挿入されている場合は、マスタにレプリケートします。 – Brandon

+4

これはできません.MongoDBは双方向レプリケーションをサポートしていません。マスタ/スレーブとは、マスタにのみ書き込むことができ、マスタまたはスレーブのいずれかから読み取ることができることを意味します。複数のサーバーに書き込みを分散しようとしている場合は、シャーディングが必要です。読み取りのみを分散しようとする場合は、マスター/スレーブのレプリケーションが必要です。 –

答えて

4

MongoDBはピア・ツー・ピア・レプリケーション、データは常に二次レプリカにアウトsync'dプライマリ・データベースに書き込まれるだけマスタースレーブのこの種類をサポートしていません。ただし、slaveOkオプションを使用すると、レプリカ間で読み取りを分散できます。詳細についてはレプリカセットをご覧ください。書き込みを配布するには、シャーディングを見てみましょう。

また、MongoDBのと同じボックス上のWebサーバーをホストするために理想的ではないかもしれません。 Mongoはメモリに関しては欲張りです。データベースが使用可能なRAMよりも大きくなると、Webサーバーのパフォーマンスは本当に悪くなります。

+0

シャーディングと自動フェールオーバーのオプションが必要です。正しい方向に私を指してくれてありがとう。このチュートリアルでは、私が得るのを助けるために素晴らしかったセットアップとランニング:http://blog.boxedice.com/2010/08/03/automating-partitioning-sharding-and-failover-with-mongodb/ – Brandon

+0

ないちゃったごめんなさい、いくつかの本当に素晴らしいのMongoDBブログのヒント、およびそのサーバー密度は素晴らしい製品です。 –

関連する問題