Scala
着信リクエストを同時に処理し、処理結果を返すコンポーネントが必要だとします。また、リクエスト処理がいくつかのステップで構成されているとします。一部の手順はリソースと時間を消費し、一部は I/O または CPU バウンドなどです。
リクエストが JVM内部から来ると仮定すると、次のようにコンポーネントを設計します。
- アクター「Facade」はエントリ ポイントです。リクエストを受け取り、結果をクライアントに送信します。
- アクター「Dispatcher」
Futures
は、ステップをラップすると非同期に処理ステップを実行します - ステップはその結果を「Dispatcher」アクターに送り返します。コールバックで実装されてい
Future
ます。 - リクエスト処理が完了すると、「Dispatcher」は結果を「Facade」に送信します。
それは理にかなっていますか?Scala にそのようなコンポーネントの良い例はありますか?