Datastax Cassandra Driver の接続プーリングを理解しようとしているので、Web サービスでより適切に使用できます。
ドキュメントのバージョン 1.0 があります。それは言います:
Java ドライバーは接続を非同期で使用するため、複数の要求を同じ接続で同時に送信できます。
彼らは接続によって何を理解していますか?クラスターに接続する場合、ビルダー、クラスター、およびセッションがあります。それらのどれが接続されていますか?
たとえば、次のパラメータがあります。
maxSimultaneousRequestsPerConnection - ホストへのすべての接続での同時要求の数。その後、さらに接続が作成されます。
したがって、これらの接続は、接続プールの場合に自動的に作成されます (これは私が期待することです)。しかし、接続は正確には何ですか?オブジェクトをクラスター化しますか? セッション?
Web サービスで何を「静的」に保つかを決定しようとしています。とりあえず、Builder を静的にしておくことにしたので、呼び出しごとに新しい Cluster と新しい Session を作成します。これでよろしいですか?クラスターが接続の場合は、問題ありません。しかし、そうですか?ここで、ロガーは呼び出しごとに次のように言います。
2013:12:06 12:05:50 DEBUG Cluster:742 - 接点を持つ新しいクラスターの開始
2013:12:06 12:05:50 DEBUG ControlConnection:216 - [接続の制御] ノード リストとトークン マップの更新
2013:12:06 12:05:50 DEBUG ControlConnection:219 - [コントロール接続] スキーマの更新
2013:12:06 12:05:50 DEBUG ControlConnection:147 - [制御接続] 正常に接続されました...
それで、毎回クラスターに接続しますか?それは私が望むものではありません。接続を再利用したいのです。
では、接続は実際にはセッションですか? この場合、ビルダーではなくクラスターを静的に保つ必要があります。
可能な限り接続を再利用するには、どのメソッドを呼び出す必要がありますか?