【问题标题】:hystrix circuit open eventhystrix 电路开路事件
【发布时间】:2017-05-29 09:49:38
【问题描述】:

我已经为 hystrixcommand 配置了弹簧方面,它工作正常(打开和关闭电路)

在我的测试过程中,我观察到,当电路打开时,仍会调用正常流程,并且在事件 FAILURE 时,会调用回退。

我从文档中了解到,当电路打开时,正常流量将仅在五秒内检查一次(默认)。我尝试手动将值设置为 20 秒,但仍然没有工作

@HystrixCommand(commandProperties = {
            @HystrixProperty(name = "circuitBreaker.sleepWindowInMilliseconds", value = "20000")
        },
            fallbackMethod = "fallbackCall")

我在哪里设置这个配置?我不希望每次都调用错误服务然后转到回退。

【问题讨论】:

    标签: spring hystrix spring-cloud-netflix


    【解决方案1】:

    我正在进行的测试配置不正确。 为了 SHORT_CIRCUIT ,应该满足 circuitBreaker.requestVolumeThreshold 。

    在我的情况下,默认值为 20,滚动窗口中的失败次数不超过 20。所以短路从未发生过。以下是我从另一个堆栈中获得的关于流响应的文档

    在持续时间metrics.rollingStats.timeInMilliseconds 的时间跨度内,导致处理异常的操作的百分比超过errorThresholdPercentage,前提是在时间跨度内通过电路的操作数至少为requestVolumeThreshold

    我将 circuitBreaker.requestVolumeThreshold 设置为 1,它按预期工作。

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 2017-02-18
      • 2020-04-13
      • 2020-01-23
      • 2016-03-24
      • 2015-05-23
      • 2019-05-25
      • 2018-01-14
      • 2018-03-27
      相关资源
      最近更新 更多