【发布时间】:2020-04-08 18:34:39
【问题描述】:
我已经实现了一个 REST API ==>说 ServiceA 反过来又调用另一个远程 API ==>说 ServiceB 来获取数据。
ServiceA 通过 Apache HttpClient (V3.1) 调用 ServiceB
我完全理解以下属性:
DefaultMaxConnectionsPerHost
我已将上述属性配置为 10。
现在,根据文档:
定义每个主机配置允许的最大连接数。 这些值仅适用于来自特定实例的连接数 HttpConnectionManager。
到目前为止,理论运作良好。
对于ServiceB,我们假设以下几点。
- 场景 1(ServiceB 有单个应用服务器实例)
直截了当。在任何给定时间点,最多可以有 10 个从 ServiceA 到 ServiceB 的并发连接。
- 场景 2(ServiceB 有多个应用服务器实例)
由于 ServiceB 有多个 Host 将可能有超过 10 个来自 ServiceA 的并发连接?
要么
DefaultMaxConnectionsPerHost会根据ServiceB的域名来识别。
另外,为ServiceB配置负载均衡器会有什么不同吗?
提前致谢。
【问题讨论】:
标签: java apache rest httpclient connection-pooling