Akka
ドキュメントには次のように記載されています。
ブロッキング呼び出しを Future 内にラップして、代わりにそれを使用したくなるかもしれませんが、この戦略は単純すぎます。アプリケーションが増加した負荷の下で実行されると、ボトルネックが見つかったり、メモリやスレッドが不足したりする可能性が非常に高くなります。
彼らは次の戦略を提案しています。
内でブロッキング呼び出しを
Future
実行し、任意の時点でのそのような呼び出しの数の上限を確保します (この性質の無制限の数のタスクを送信すると、メモリまたはスレッドの制限が使い果たされます)。Future
アプリケーションが実行されるハードウェアに適したスレッド数の上限をスレッド プールに提供して、内でブロッキング呼び出しを行います。
これらの戦略の実装について知っていますか?