Vert Http 客户端最大连接池?这个池是每个端点还是总计?

Vert Http Client max connection pooling? Is this pool per endpoint or in total?

我正在为 api-网关使用 vertx 网络客户端 (3.8.5),并将 setMaxPoolSize 设置为 20。这个限制是每个端点还是所有端点的总和?

我正在部署我的应用程序,其中包含 36 个 Verticle 和每个 Verticle 1 个 Web 客户端,总共有 36 个 Web 客户端,我的应用程序需要连接到 1000 多个不同的 ip:port。 现在,要利用连接池的好处,如果上述限制是针对总连接数,我需要设置 MaxPoolSize >= 1000,这使得来自应用程序的总连接数等于 1000 * 36 >= 36000。什么是上述用例的建议设置?

如果我设置 maxPoolSize = 20 并且其中 none 已过期(到期时间 = 60 秒)并且仅假设正在使用其中的 10 个,那么当请求到达 ip:port 时会发生什么这不在池中。 它是否排队或未使用的连接之一断开并建立新连接(对于新 ip:port)?

我的 api-gateway 客户端配置应该如何处理不同 ip:port 的多个并发请求?

谢谢, 尼蒂什

阅读 vert.x 代码后,我发现 maxPoolSize 是每个目的地

因此,在上述情况下,它将是 http 客户端数 * maxPoolSize(每个目的地)

我预计对任何目标主机的并发请求不会超过 100 个。因此,将此值设置为 5 会得到 - 5 * 36(36 个 http 客户端)= 180 个连接

注意:如果您在具有多个 Verticle 的实例中 运行 大量 http 客户端,则需要配置打开文件描述符的最大数量