データベースへの非同期呼び出しを行う方法はあるのでしょうか。
たとえば、処理に非常に長い時間がかかる大きなリクエストがあるとします。リクエストを送信し、リクエストが値を返すときに(リスナー/コールバックなどを渡すことによって)通知を受け取りたいと考えています。データベースが応答するのを待つのをブロックしたくありません。
スレッドのプールを使用することは、スケーリングしないので解決策であるとは思いません。大量の同時リクエストの場合、これは非常に多数のスレッドを生成します。
この種のネットワークサーバーの問題に直面しており、select / poll / epollシステムコールを使用して、接続ごとに1つのスレッドが存在しないようにすることで解決策を見つけました。データベースリクエストで同様の機能を使用する方法を知りたいだけですか?
注:FixedThreadPoolを使用するのが適切な回避策である可能性があることは承知していますが、(余分なスレッドを使用せずに)本当に非同期のシステムを開発した人がいないことに驚いています。
**更新**
実際の実用的なソリューションがないため、私は自分でライブラリ(finagleの一部)を作成することにしました:finagle-mysql。それは基本的にmysql要求/応答をデコード/デコードし、内部でFinagle / Nettyを使用します。接続数が非常に多い場合でも、非常によく拡張されます。