等同于 Akka HTTP 中的 spray.can.host-connector.pipelining

Equivalent of spray.can.host-connector.pipelining in Akka HTTP

我有一个使用 Spray 的旧应用程序,我正在将其升级到 Akka HTTP。在配置中,我有 spray.can.host-connector.pipelining = on。 Akka HTTP 似乎不再具有此配置密钥。相反,它具有 akka.http.host-connection-pool.pipelining-limit = 1(默认情况下)。我假设 pipelining-limit = 1 意味着实际上没有流水线。如果是这样,那么什么值相当于 Sprays pipelining = on?

pipelining-limit 设置允许您选择 HTTP 管道的 'breadth',即在任何给定时间可以有多少个正在运行的请求。

来自流水线限制文档 (http://doc.akka.io/docs/akka-http/current/scala/http/configuration.html)

# The maximum number of requests that are dispatched to the target host in
# batch-mode across a single connection (HTTP pipelining).
# A setting of 1 disables HTTP pipelining, since only one request per
# connection can be "in flight" at any time.
# Set to higher values to enable HTTP pipelining.
# This value must be > 0.

请注意,这也存在于 Spray 中。事实上,设置 spray.can.host-connector.pipelining = on 不足以在 Spray 中启用流水线,还需要 spray.can.server.pipelining-limit 严格大于 1。

看起来他们在 Akka-HTTP 中所做的是通过删除布尔设置来简化此配置。可以通过设置高于 1 的限制明确启用流水线。