什么时候在 Web 应用程序中使用 Actors 有意义

When does it make sense to use Actors in a web application

我一直在浏览 Typesafe Activator 模板。通常在 Typesafe 模板(Reactive Stocks / Maps / *)中,我会在 app 文件夹中看到一个 actors 文件夹。显然,这应该包含演员,但如何将演员添加到 Play 应用程序。我知道 Play 是一个 MVC 框架,这意味着:

  1. 模型充当结构化数据的模板,用于与数据库交互并传递给视图
  2. 视图 是网页,通常可以向其中注入数据。
  3. 控制器 包含业务逻辑,并且可以桥接模型和视图

如果是这样,Actor 是做什么用的?他们添加了哪些模型、视图和控制器不提供的内容?在开发响应式 Web 应用程序时,Actor 有哪些实际用途?

编辑

在查看 Play 文档时,我发现 Actors 可能对调度很有用。 Actor 还有其他用途吗?

Play Framework 使用控制器来处理请求。控制器从模型中获取数据并 transforms/filters/modifies 它,以便视图可以处理数据。控制器还包含整个业务逻辑。

Play Framework 的设计方式,这些控制器应该非常快速地处理这些请求,或者 return 异步 Promise。这就是演员派上用场的地方。如果您有需要很长时间来计算的请求,您可以使用 actor 来异步处理请求。看看 the documentation.