在Hystrix中触发回退的自定义错误条件
根据理解,Hystrix回退逻辑在发生某些情况时触发,例如请求超时,线程池以100%的容量运行或依赖关系抛出异常。除了这3个因素外,我还可以添加更多的条件,这些条件也被认为是失败的,例如413(负载太大)等任何特定的HTTP错误代码?在Hystrix中触发回退的自定义错误条件
回答:
豪猪的备用方法将在以下条件下被称为
- 开路
- 信号/线程池拒绝
- 执行失败(按你的方法排除HystrixBadRequestException抛出的任何异常)
- 您的方法超时(hystrix超时)
只有部分临时t直接关系到用户代码执行失败。
在这种情况下,回退将由run()
方法抛出的任何异常触发。纯Hystrix通过HystrixCommand和Hystrix Javanica通过注释完全相同。
只有一个例外,它不会触发HystrixBadRequestException
因此,如果你想也触发回退的HTTP 413状态码,你必须只是扔你的方法中的任何异常。
如果您正在使用任何内置Hystrix支持(如Spring Cloud Feign)的库,则需要实现该库所需的一些内容。在Spring Cloud Feign的情况下,您可以实施自己的ErrorDecoder
。默认错误解码器将触发所有4XX,5XX错误的后备。如果您不想触发除413之外的任何后退4XX错误,则可以在其中输入HystrixBadRequestException
。
以上是 在Hystrix中触发回退的自定义错误条件 的全部内容, 来源链接: utcz.com/qa/259654.html