Akka-Http:客户端和服务器之间可以共享什么?

Akka-Http: What can be shared between client and server?

要使用 Akka-Http 启动服务器,大致可以这样做:

implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
Http().bindAndHandle(routes, webHost, webPort)

并使用请求级客户端:

implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
val responseFuture: Future[HttpResponse] =
  Http().singleRequest(HttpRequest(uri = "http://akka.io"))

在 3 个公共资源中 - 即 ActorSystemActorMaterializerHttpExt - 哪些资源可以在同一应用程序中由服务器和客户端安全共享?

它们都可以安全地共享,并且旨在以这种方式使用。唯一需要注意的是,如果您希望客户端与服务器具有不同的线程特性,则需要不同的参与者系统。

在上面的示例中,uri 地址akka.io 是客户端地址或服务器地址。