Iva*_*lin 5 asynchronous http akka spray
在Spray网站上说:
spray是一个开源工具包,用于在Scala和Akka之上构建基于REST/HTTP的集成层.它是异步的,基于actor的,快速,轻量级,模块化和可测试的,是将Scala应用程序连接到世界的好方法.
即异步部分混淆我因为HTTP是一个同步协议.
你能解释一下,当HTTP不是时,Spray是如何异步的吗?
jxs*_*ord 6
Spray使用引擎盖下的Akka以及Futures.在传入请求被传递给Akka Actors的意义上它是异步的,Akka Actors反过来路由请求并最终生成响应.
在过于简化的术语中,请求进入请求处理actor并异步传递给另一个可以处理路由的actor.请求处理actor可以自由处理其他请求而不会阻塞来处理响应.路由参与者可以以相同的方式切换到特定的路由处理程序.完成响应的actor可以发送它.
参与者可以使用不同类型的调度程序来定义它们如何与线程交互以处理消息,但实质上,目标是编写从不或很少阻塞的代码,这就是使用Spray的人所做的事情.
归档时间:
11 年 前
查看次数:
456 次
最近记录:
10 年,11 月 前