原文地址:Experimental Support for Akka HTTP
在這個(gè)點(diǎn)上,Akka HTTP支持依然是實(shí)驗(yàn)性的。它將最終替代Spray ,遲早作為squbs的高性能、穩(wěn)定的、同樣特性的HTTP引擎實(shí)現(xiàn)。
開啟Akka HTTP實(shí)驗(yàn)
為開啟實(shí)驗(yàn)性的Akka HTTP 支持,設(shè)置以下在application.conf中的配置squbs.experimental-mode-on = true
程序差異
對(duì)于 Akka HTTP,你需要聲明你的route通過使用不同RouteDefinition trait而不是Spray route。改變你的導(dǎo)入 RouteDefinition聲明如下:
從: import org.squbs.unicomplex.RouteDefinition
到: import org.squbs.unicomplex.streaming.RouteDefinition
下一步,聲明你的route通過使用 Akka HTTP 指令集。如果你從Spray遷移過來,你通常只需要替換你的導(dǎo)入如下:
從: import spray.routing.Directives._
到: import akka.http.scaladsl.server.Directives._
不過這里有一些不同,更多細(xì)節(jié)請(qǐng)參考documentation for Akka HTTP directives 。
模塊
當(dāng)使用 Akka HTTP時(shí),這些模塊替換先前的模塊。你需要確保這些模塊加入到你的libraryDependencies ,在你的build.sbt 中,而不是默認(rèn)版本。
-
StreamingPipeline: Akka流Pipeline版本,基于在Akka Stream之上的
BidiFlow。在 Akka HTTP.,這個(gè)artifactsqubs-streamingpipeline替換squbs-pipeline。它允許用戶或基礎(chǔ)設(shè)施團(tuán)隊(duì)實(shí)現(xiàn)諸如BidiFlow元素的請(qǐng)求/響應(yīng),并將他們注冊(cè)到pipeline。參考Streaming Pipeline documentation 獲得更多信息。 -
Console for Akka HTTP:在 Akka HTTP 實(shí)驗(yàn)?zāi)K中,
squbs-admin-exp替換squbs-admin。它使用 Akka HTTP接口而不是Spray接口。在實(shí)驗(yàn)?zāi)K,用戶需要修改他們的 build.sbt,并使用這個(gè)依賴而不是squbs-admin。