我正在客户端使用HttpClients.custom()
创建一个连接管理器,稍后设置所有必要的配置。
我想要的是始终设置每条路由的最小空闲连接数。目前,空闲连接在keepAliveStrategy
中设置的保活时间之后关闭。我已经浏览了多篇文章和Apache文档,但这在任何地方都没有讨论过。
HttpClients.custom()
.setMaxConnTotal(20)
.setMaxConnPerRoute(5)
.setHostnameVerifier(...)
.setSSLSockerFactory(...)
.setKeepAliveStrategy(...)
.build();
有办法做到这一点吗?
我为什么要问这个?因为在保持活动时间之后,从客户端到服务器的每个请求都需要花费大量时间来打开新连接,并导致性能较差。
Apache HttpClient在设计时不会主动建立连接。
这里有三个选项:
- 保持连接更长时间
- 每隔一段时间执行廉价的HEAD请求,以保持路由始终准备就绪
- 手动租用并释放给定路由的连接