2

javascriptのネイティブドライバーでmongodbを使用しています。

セット内のノードを指定して、レプリカセットに接続します。

var mainReplSet = new MongoDB.ReplSet([ 
                new MongoDB.Server( '0.0.0.0, 27017, { auto_reconnect: true } ),
                new MongoDB.Server( '0.0.0.0', 27017, { auto_reconnect: true } ),
                new MongoDB.Server( '0.0.0.0', 27017, { auto_reconnect: true } )
            ], { rs_name:'ReplicaSetName', readPreference: MongoDB.ReadPreference.NEAREST } );

したがって、このセットにノードを動的に追加する場合は、レプリカ セットに接続するすべてのスクリプトを更新する必要があります。したがって、実行中のサーバーを再起動します。このスクリプトを更新せずに新しいノードを含める方法はありますか?

4

1 に答える 1

2

members を追加 (および条件付きで削除) するときにスクリプトを更新する必要はありません。必要なのは、シード リストを提供することです。基本的には1台で供給できますが、その際にダウンしている可能性があるのでお勧めしません。

レプリカ セットにさらに多くのメンバーがある場合でも、クォーラム サーバーで十分です。したがって、3 人のメンバー セットの場合、2 つのサーバーで十分です。

各メンバーは、設定された構成オブジェクトの独自のコピーを保持し、マスターが誰であるかを認識しています。シード リストでマスターを指定することは必須ではありません。

こちらをご覧ください

于 2013-09-23T20:09:46.450 に答える