如何限制 Finagle 创建的连接数?

How to limit the connections number Finagle creates?

我使用 Finalge https://twitter.github.io/finagle/ 来测试这样的超时情况:

  1. 服务器端:在 RPC 定义中,只休眠 10 秒 return。
  2. 客户端:像within(50.milliseconds) onSuccess { ... } onFailure { ... }
  3. 一样使用within调用RPC函数
  4. 客户端多:使用100个左右的客户端同时调用RPC函数

结果当然是所有RPC都超时了。但是,当我使用 netstat 检查连接时,我发现有 100 个 ESTABLISHED 连接。问题是我可以限制 Finagle 创建的连接数吗?

是的,你可以使用

hostConnectionLimit(10)

在您的 ClientBuilder 中限制与每个主机的连接。 "Host"这里指的是服务器端的盒子。

源代码here.