如何解决Vert Http Client最大连接池?是每个终结点池或每个终结点池?
我正在将vertx Web客户端(3.8.5)用于api-gateway,并将setMaxPoolSize设置为20。是每个端点还是所有端点的总限制?
我正在部署具有36个顶点的应用程序,每个顶点有1个Web客户端,这使得总共36个Web客户端,并且我的应用程序需要连接到1000多个不同的ip:port。 现在,要利用连接池的好处,如果上述限制是对总连接的限制,我需要将setMaxPoolSize> = 1000设置为使应用程序的总连接数等于1000 * 36> =36000。建议的设置是什么?适用于上述用例?
如果我将maxPoolSize设置为20,但它们都没有过期(过期时间= 60s),并且仅使用其中的10个,那么当请求不在池中的ip:port时会发生什么。 是排队还是未使用的连接之一断开并建立了新的连接(对于新的ip:port)?
我的api-gateway客户端配置应该如何处理不同ip:port的多个并发请求?
谢谢, 尼蒂什(Nitish)
解决方法
阅读vert.x代码后,我发现maxPoolSize是每个目的地的
因此,在上述情况下,它将是http客户端数* maxPoolSize(每个目标)
我预计对任何目标主机的并发请求不会超过100个。因此,将此值设置为5可得到-5 * 36(36个http客户端)= 180个连接
注意:如果在具有多个顶点的实例中运行大量的http客户端,则需要配置打开文件描述符的最大数量
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。