【问题标题】:Asynchronous results in Play 2.0 Framework (scala)Play 2.0 Framework (scala) 中的异步结果
【发布时间】:2012-05-24 20:19:19
【问题描述】:

阅读 Play 声明的文档:

http://www.playframework.org/documentation/2.0/ScalaAsync

“由于 Play 2.0 的工作方式,动作代码必须尽可能快(即非阻塞)。”

然后继续展示如何编写异步结果。有人可以扩展为什么“动作代码必须尽可能快”吗?更改为异步结果如何影响在较低级别处理请求的方式?除了抽象之外,还有什么好处?

【问题讨论】:

    标签: scala asynchronous playframework playframework-2.0


    【解决方案1】:

    实际上将异步用于可能很长或本质上异步的调用(调用其他远程 api,如 twitter、db 等)只有客户端会等待,而不是服务器(Play 2.0 的工作方式)

    这不会影响它自己的请求将如何被处理,但是整个操作将被执行,因为结果将被承诺用于进一步的结果,使用 akka 演员。

    最后一点是关键,akka 将尽可能多地重用可用线程,而不是让它们处于休眠状态。

    谈到我如何使用 ASync 是在使用 Neo4J REST API 处理持久对象时,因为这种数据库的使用取决于网络、带宽、查询性能……拥有 HA 解决方案可能很麻烦,通过让大部分请求等待。在云环境中。将导致您添加流程/实例并最终花费您很多;-)

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多