我们正在为我们的应用程序使用聚合器设计模式,该模式需要支持不同的客户端。聚集器确实从API网关接收到请求,并且聚集器基于客户端调用适当的微服务。我们使用Spring Cloud Consul管理服务发现。聚合器假装调用其他微服务。
我们所有的微服务都是Spring Boot 2.0应用程序,默认情况下已嵌入其连接池设置为200的Tomcat。
我们的大多数微服务都与外部供应商进行交互,有时响应时间会花费更长的时间。如果外部供应商端出现问题,则微服务必须比通常说的30秒稍长一些时间。
当聚合器和某些微服务处于等待模式时,当聚合器连接到微服务之一时,我们进入“负载均衡器没有可供客户端使用的服务器– feignclient”的条件。
注意:当负载较少(每秒4个事务)时,通常不会出现此问题。当负载更多或微服务之一花费较长时间时,就会出现问题。
当每秒只有六个事务时,会发生此问题。我想了解错误的含义,以及是否需要为伪装配置任何指定的连接池设置,以便我们可以从聚合器到其他微服务使用一些连接。
API GATEWAY
|
|
AGGREGATOR SERVICE
|
|
--------------------------------------------
| | | |
XXXXSERVICE YYYYSERVICE ZZZZSERVICE UUUUSERVICE
我想了解当微服务是默认连接池为200的spring boot应用程序时,如何优化聚合器与每个微服务的连接数量