原文地址:Experimental Support for Akka HTTP
在这个点上,Akka HTTP支持依然是实验性的。它将最终替代Spray ,迟早作为squbs的高性能、稳定的、同样特性的HTTP引擎实现。
开启Akka HTTP实验
为开启实验性的Akka HTTP 支持,设置以下在application.conf
中的配置squbs.experimental-mode-on = true
程序差异
对于 Akka HTTP,你需要声明你的route
通过使用不同RouteDefinition
trait而不是Spray route
。改变你的导入 RouteDefinition
声明如下:
从: import org.squbs.unicomplex.RouteDefinition
到: import org.squbs.unicomplex.streaming.RouteDefinition
下一步,声明你的route通过使用 Akka HTTP 指令集。如果你从Spray迁移过来,你通常只需要替换你的导入如下:
从: import spray.routing.Directives._
到: import akka.http.scaladsl.server.Directives._
不过这里有一些不同,更多细节请参考documentation for Akka HTTP directives 。
模块
当使用 Akka HTTP时,这些模块替换先前的模块。你需要确保这些模块加入到你的libraryDependencies
,在你的build.sbt
中,而不是默认版本。
-
StreamingPipeline: Akka流Pipeline版本,基于在Akka Stream之上的
BidiFlow
。在 Akka HTTP.,这个artifactsqubs-streamingpipeline
替换squbs-pipeline
。它允许用户或基础设施团队实现诸如BidiFlow
元素的请求/响应,并将他们注册到pipeline。参考Streaming Pipeline documentation 获得更多信息。 -
Console for Akka HTTP:在 Akka HTTP 实验模块中,
squbs-admin-exp
替换squbs-admin
。它使用 Akka HTTP接口而不是Spray接口。在实验模块,用户需要修改他们的 build.sbt,并使用这个依赖而不是squbs-admin。