複数の 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" />
どんなアドバイスでも大歓迎です。