gpt4 book ai didi

java - Resilience4J 断路器配置无法正常工作

转载 作者:行者123 更新时间:2023-12-01 17:16:54 25 4
gpt4 key购买 nike

我正在尝试使用自定义 CircuitbreakerConfig 构建 Resilience4J Circuitbreaker

使用以下代码构建CircuitbreakerConfig

CircuitBreakerConfig circuitBreakerConfig = CircuitBreakerConfig
.custom()
.slidingWindowSize(100)
.failureRateThreshold(50)
.slowCallRateThreshold(50)
.slowCallDurationThreshold(
Duration.ofMillis(1000))
.waitDurationInOpenState(
Duration.ofMillis(1000))
.recordExceptions(IOException.class,
FeignException.FeignServerException.ServiceUnavailable.class)
.ignoreExceptions(
FeignException.FeignServerException.InternalServerError.class)
.build();
CircuitBreaker circuitBreaker = CircuitBreaker.of("sample-cb", circuitBreakerConfig);

我正在使用它来进行 HTTP 调用。响应时间总是超过 1000 毫秒。理想情况下,如果前 100 个调用速度较慢,则 CircuitBreaker 应在 50 时转换为 OPEN 状态。但仅在 100 次调用后才转换为 OPEN 状态。

无法理解这种行为。寻求帮助。

最佳答案

这是因为minimumNumberOfCalls的默认值为100。

只有在记录了最小数量的调用后,才能计算失败率和缓慢调用率。例如,如果所需的最小调用次数为 10,则必须记录至少 10 个调用,然后才能计算故障率。如果仅评估了 9 个调用,即使所有 9 个调用都失败,CircuitBreaker 也不会跳闸。

您可以将其设置为 50。

关于java - Resilience4J 断路器配置无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61367905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com