如何限制 Finagle 创建的连接数?
How to limit the connections number Finagle creates?
我使用 Finalge https://twitter.github.io/finagle/
来测试这样的超时情况:
- 服务器端:在 RPC 定义中,只休眠 10 秒 return。
- 客户端:像
within(50.milliseconds) onSuccess { ... } onFailure { ... }
一样使用within
调用RPC函数
- 客户端多:使用100个左右的客户端同时调用RPC函数
结果当然是所有RPC都超时了。但是,当我使用 netstat
检查连接时,我发现有 100 个 ESTABLISHED
连接。问题是我可以限制 Finagle 创建的连接数吗?
是的,你可以使用
hostConnectionLimit(10)
在您的 ClientBuilder 中限制与每个主机的连接。 "Host"这里指的是服务器端的盒子。
源代码here.
我使用 Finalge https://twitter.github.io/finagle/
来测试这样的超时情况:
- 服务器端:在 RPC 定义中,只休眠 10 秒 return。
- 客户端:像
within(50.milliseconds) onSuccess { ... } onFailure { ... }
一样使用 - 客户端多:使用100个左右的客户端同时调用RPC函数
within
调用RPC函数
结果当然是所有RPC都超时了。但是,当我使用 netstat
检查连接时,我发现有 100 个 ESTABLISHED
连接。问题是我可以限制 Finagle 创建的连接数吗?
是的,你可以使用
hostConnectionLimit(10)
在您的 ClientBuilder 中限制与每个主机的连接。 "Host"这里指的是服务器端的盒子。
源代码here.