【问题标题】:hystrix first request error fallbackhystrix 首次请求错误回退
【发布时间】:2018-04-23 06:42:02
【问题描述】:

如果 requestVolumeThreshold 没有明确配置怎么办?当第一个请求本身出错时,它会立即调用我的后备方法吗?是否应该在第 21 个请求时调用回退方法?(默认 requestVolumeThreshold=20,errorThresholdPercentage=50%,metrics.rollingStats.timeInMilliseconds)。

【问题讨论】:

    标签: hystrix circuit-breaker


    【解决方案1】:

    需要区分回退条件和断路条件。

    你的断路器的回退方法将在以下情况下被调用

    • 电路开路
    • 信号量/线程池拒绝
    • 执行失败(您的方法抛出的任何异常,不包括HystrixBadRequestException
    • 方法超时(hystrix 超时)

    如您所见,电路开路只是执行回退方法的一种条件。

    您在问题中写的属性与电路开路有关,它们与确定回退执行没有直接关系。

    因此,您的第一个请求的回退执行将由异常和超时决定。因为,此时,电路肯定是关闭状态,你的线程池(或信号量)是空的。

    【讨论】:

    • 是的。误解了回退的概念。谢谢
    猜你喜欢
    • 2017-10-10
    • 2018-08-08
    • 2018-04-05
    • 2019-02-04
    • 2020-11-22
    • 2018-05-16
    • 2016-05-26
    • 2019-11-12
    • 2019-07-28
    相关资源
    最近更新 更多