1

複数の mongo シャード (大規模な AWS インスタンス上)、3 つの mongo 構成 (小規模な AWS インスタンス上)、および 3 つの mongo ルーター "mongos.exe" が実行されているシステムがあります (これらはアプリと同じインスタンス、つまり 2 つの Tomcat と1 Java アプリ)。

だから私の質問は、各アプリ(Tomcat 1など)がそのボックスのmongos.exeと通信する必要があるか、それとも他の2つのボックスのmongos.exeにも接続する必要があるかです(私は考えていませんここに単一障害点があります)。

mongo ドキュメントhttp://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/では、以下を使用して複数の mongo に接続できます。

// or, to connect to a replica set, with auto-discovery of the primary, supply a seed list of members
MongoClient mongoClient = new MongoClient(Arrays.asList(
    new ServerAddress("localhost", 27017),
    new ServerAddress("localhost", 27018),
    new ServerAddress("localhost", 27019)));

これは行く方法ですか?もしそうなら、私の最後の質問は、Spring 構成はどのように見えるかということです。アプリの私の春の設定は次のようになります: -

<mongo:mongo host="${db.host}" port="${db.port}">
    <mongo:options threads-allowed-to-block-for-connection-multiplier="${db.threadsAllowedToBlockForConnectionMultiplier}"
                   connections-per-host="${db.connectionsPerHost}"
                   connect-timeout="${db.connectTimeout}"
                   max-wait-time="${db.maxWaitTime}"
                   auto-connect-retry="${db.autoConnectRetry}"
                   socket-timeout="${db.socketTimeout}"/>
</mongo:mongo>

<mongo:db-factory dbname="${db.name}" mongo-ref="mongo" />

どんなアドバイスでも大歓迎です。

4

1 に答える 1

0

私は正しい答えでこのスレッドを見つけました。

<mongo:mongo id="replicaSetMongo" replica-set="127.0.0.1:27017,localhost:27018"/>

「ホスト」属性と同じように、試してみましたが、単一のホストでも動作します。

于 2014-02-04T20:03:54.963 に答える