【问题标题】:Value for HttpClient timeout on a Spring Gateway with resilience4j circuit breaker and time limiter具有 resilience4j 断路器和时间限制器的 Spring Gateway 上的 HttpClient 超时值
【发布时间】:2022-12-14 13:16:53
【问题描述】:

HTTPClient response-timeout 是否应该分别为慢速运行的调用和快速运行的调用分别设置?还是应该为所有请求设置一个超时值?

该应用程序是一个 Spring Cloud Gateway 应用程序,它使用来自 Resilience4j 的 CircuitBreaker 和 TimeLimiter。

HTTPClient 用于“重定向”进入网关的请求。它们被重定向到特定端点。如果端点响应太慢,时间限制器将停止等待响应。

问题是当 HTTPClient 仍在等待响应时会发生什么,因为它设置了很长的超时值,但是请求已被时间限制器失败。 HTTPClient 还在等待吗?资源可用性可能有问题吗? 或者应该为每个路由(端点)分别配置 HTTPClient 超时?

【问题讨论】:

    标签: spring-webflux spring-cloud-gateway reactor-netty resilience4j


    【解决方案1】:

    您可以在 TimeLimiterConfig 上设置 cancelRunningFuture。它将正确关闭属于 HttpClient 的连接。

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 2020-11-02
      • 2020-03-11
      • 2020-01-27
      • 2022-08-14
      • 2022-01-09
      • 2021-01-19
      • 2021-08-07
      • 2023-03-09
      相关资源
      最近更新 更多