6

ELB を使用して aws に 1 つのプライマリと 2 つのセカンダリがあります。読み書きのベストプラクティスは何ですか?

1) ELB 内のすべてのノードでプライマリとセカンダリを含む単一の LB を作成し、python (pymongo) に読み取りと書き込みの並べ替えを処理させますか?

2) または、すべてのセカンダリを ELB の下に配置し、プライマリをエラスティック IP に割り当てますか? これには、ノード タイプを追跡し、フェイルオーバーの場合に再割り当てするためのスクリプトが必要です。

私はオプション1を望んでいます。

ありがとう

4

3 に答える 3

5

それはあなたの状況によって異なります。mongodb ドライバーを使用すると、クライアントが接続しているノードを追跡する必要はありません。レプリカ セットについて通知するだけで、自動的にプライマリに接続してフェイルオーバーを処理します。

読み取り負荷を分散させたい場合は、アプリケーションがセカンダリから読み取ることを許可するように読み取り設定を設定できますが、プライマリにのみ書き込むことができます。つまり、すべての着信接続に ELB を設定する必要はなく、書き込みがセカンダリ (失敗する場所) に送信される可能性があるため、害を及ぼす可能性さえあります。読み取り設定を使用すると、読み取りを分散できるため、この場合、ELB を使用しないことをお勧めします。

一般的に、私はhttp://www.slideshare.net/jrosoff/mongodb-on-ec2-and-ebsを見ていきます。役に立つかもしれません。

于 2012-11-13T15:28:36.847 に答える