【发布时间】:2018-04-23 06:42:02
【问题描述】:
如果 requestVolumeThreshold 没有明确配置怎么办?当第一个请求本身出错时,它会立即调用我的后备方法吗?是否应该在第 21 个请求时调用回退方法?(默认 requestVolumeThreshold=20,errorThresholdPercentage=50%,metrics.rollingStats.timeInMilliseconds)。
【问题讨论】:
如果 requestVolumeThreshold 没有明确配置怎么办?当第一个请求本身出错时,它会立即调用我的后备方法吗?是否应该在第 21 个请求时调用回退方法?(默认 requestVolumeThreshold=20,errorThresholdPercentage=50%,metrics.rollingStats.timeInMilliseconds)。
【问题讨论】:
需要区分回退条件和断路条件。
你的断路器的回退方法将在以下情况下被调用
HystrixBadRequestException)如您所见,电路开路只是执行回退方法的一种条件。
您在问题中写的属性与电路开路有关,它们与确定回退执行没有直接关系。
因此,您的第一个请求的回退执行将由异常和超时决定。因为,此时,电路肯定是关闭状态,你的线程池(或信号量)是空的。
【讨论】: