1

假设我需要一个Scala组件同时处理传入的请求并返回处理结果。还假设请求处理由几个步骤组成。其中一些步骤是资源和时间消耗,其中一些是 I/O 或 CPU 密集型等。

假设请求来自JVM内部,我将按如下方式设计组件:

  • 演员“门面”是入口点:它接收请求并将结果发送给客户端。
  • 演员“调度员”异步执行处理步骤Futures,包装步骤
  • 步骤将他们的结果发送回“调度员”演员。它是通过Future回调实现的。
  • 当请求处理完成时,“Dispatcher”将结果发送到“Facade”。

是否有意义?Scala中有这样一个组件的好例子吗?

4

1 回答 1

1

鉴于您展示的细节,这是有道理的。

这种情况的一个很好的框架是Akka。查看源代码中可用的示例,以及 GitHub 中的许多开源项目。

于 2013-04-13T22:25:01.100 回答