当前位置: 首页 > 知识库问答 >
问题:

Apache HttpClient负载平衡池连接

钮长恨
2023-03-14

我们正在使用持久连接,并尝试在x时间段后强制断开连接。虽然我认为我们在理论上可以使用连接保持投资策略,但我能说的是,这只适用于回应之后。。i、 e.当连接空闲时。

我们的问题是...

假设有一台客户端,通过负载平衡器访问两台服务器(A、B)。当其中一台服务器脱机(B)时,所有新连接都会在服务器(A)上建立。现在,当另一台服务器(B)重新联机时,它将保持空闲状态,因为所有连接都在另一台服务器(A)上。只要客户端继续访问低于空闲超时/keepalive的连接,这将继续,使B服务器空闲(也就是零连接)。

我们想做的。。强制所有持久连接定期关闭(在“随机时间窗口”内)。理想情况下,我们不希望所有连接同时重置)。有什么建议吗?

我们尝试扩展HttpClientConnectionManager,跟踪一个连接打开了多长时间,然后在x时间后关闭它。。。然而,这似乎不起作用。我猜这是因为HttpClientConnection实际上不是实际的连接,而是一个代理,看起来在这个代理之下,它实际上是在“使用”一个已建立的连接,因此不可能真正跟踪这些基础连接已建立的时间。

思想?

现在我正在考虑简单地调用:HttpRequestBase。abort()在每分钟1个连接上执行一次请求,我认为这会让我们更接近期望的行为。

共有2个答案

赏夕
2023-03-14

我认为你没有正确使用负载均衡器。如果你是这样接线的:

              +--> SA
C <---> LB <--+
              +--> SB

客户端可以与负载均衡器有持久连接。LB

余靖
2023-03-14

可以通过使用TTL(生存时间)参数来限制连接的总生存时间。

HttpClientBuilder.create()
        .setConnectionTimeToLive(1, TimeUnit.MINUTES)
        .build();

这将迫使所有连接在一分钟后更新。

 类似资料:
  • 在将SOA部署到像AWS这样的云上的大型系统时,有两种方法可用于服务交互。 > 让每个服务群集位于内部elb后面。客户端使用相应的elb创建连接池,elb执行循环平衡。 采用netflix eureka等服务发现方法。 目前,我们正在使用第1种方法,其中每个服务集群位于内部elb后面,客户机通过elb进行通信,因此每个客户机实例只需维护一个池,即与elbendpoint进行通信。 我对第二部分有以

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。

  • web-service预期会有很多调用,而我希望在出现故障时使该服务成为冗余,因此我希望有两个实例同时运行以处理所有请求。 1)让两个级别的Web服务同时处理请求的最佳方法是什么?使用外部负载均衡器还是使用AKKA/AKKA-HTTP中的某种魔法(我不知道)? 2)我必须调整哪些主要参数来提高性能?

  • 我们面临着 ActiveMQ - M 集合负载平衡的几个问题。有人可以帮忙吗?以下是我们的设置 MCO在故障转移池-Broker1中配置了两个ActiveMQ代理 经纪人1 问题1:MCO客户端在broker1和broker2之间的负载平衡和连接不相等。700 MCO连接到broker1,而只有100 MCO连接至broker2。我们是否缺少此负载平衡的任何属性? 问题 2: 当我们添加新的代理(

  • 我用JMeter创建了测试来测试幽灵博客平台的性能。Ghost是用Node.js编写的,安装在云服务器上,有1GB的内存和1个CPU。 我注意到在400个并发用户之后JMeter得到错误。到400个并发用户的负载是正常的。我决定增加CPU,增加了1个CPU。 但是错误重现并添加了2个CPU,总共4个CPU。问题发生在400个并发用户之后。 我想知道是否有可能平衡CPU之间的负载?