Play 2.0 Framework(scala)中的异步结果

sch*_*mmd 3 asynchronous scala playframework playframework-2.0

阅读文档播放声明:

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

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

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

and*_*lla 6

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

这不会影响它自己处理的请求的方式,但是整个动作将被执行,因为结果将被承诺用于进一步的结果,使用akka actor.

最后一点是关键,akka将尽可能多地重用可用线程,而不是让它们保持睡眠状态.

说起我如何使用异步的,而使用的Neo4j REST API来处理持久化对象,因为数据库的这种用法是依赖于网络,带宽,查询性能,...它可能会很麻烦有HA解决方案,具有大多数请求等待.哪个在云环境中.会引导你添加进程/实例,最后花费你很多;-)