繁体   English   中英

resilience4j 基于时间的断路器表现为基于计数

[英]resilience4j Time based circuit breaker behaves as count based

我正在尝试使用此配置测试基于时间的断路器:

       failureRateThreshold :  50                 
       slidingWindowSize : 2                  
       slidingWindowType : TIME_BASED         
       minimumNumberOfCalls    : 100

我原以为它会在 2 秒过去时触发故障率计算slidingWindowSize=2 ,但它会在调用次数超过 100 ( minimumNumberOfCalls ) 时执行。 即使 2 秒过去了而没有达到 100 次调用,它也永远不会更改为OPEN state(即使所有调用都失败)。

这是错误还是预期的行为?

是的。 这是文档中解释的预期行为

配置在 CircuitBreaker 可以计算错误率或慢速调用率之前所需的最小调用次数(每个滑动 window 周期)。 例如,如果 minimumNumberOfCalls 为 10,则必须至少记录 10 次呼叫,然后才能计算故障率。 如果仅记录了 9 个调用,即使所有 9 个调用都失败,CircuitBreaker 也不会转换为打开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM