Hystrix 异常处理机制

阅读更多

文章目录

错误类型

错误信息获取

错误类型

  Hystrix 的异常处理中,有5种出错的情况下会被 fallback 所截获,从而触发 fallback,这些情况是:

 这些可以触发熔断器打开,打开了就会调用fallback

FAILURE:执行失败,抛出异常。---调用过程出异常

TIMEOUT:执行超时。---被调用的服务断掉

SHORT_CIRCUITED:断路器打开。

THREAD_POOL_REJECTED:线程池拒绝。----并发过多

SEMAPHORE_REJECTED:信号量拒绝。

  有一种类型的异常是不会触发 fallback 且不会被计数进入熔断的,它是 BAD_REQUEST,会抛出 HystrixBadRequestException,这种异常一般对应的是由非法参数或者一些非系统异常引起的,对于这类异常可以根据响应创建对应的异常进行异常封装或者直接处理。下图是手动抛一个 HystrixBadRequestException 异常进行测试。

 

 

Hystrix 异常处理机制_第1张图片

 

Hystrix 异常处理机制_第2张图片

  可以看到,并没有进行熔断。

 

错误信息获取

  错误信息的获取非常容易,只需要在回滚方法中加入 Throwable 参数即可:

Hystrix 异常处理机制_第3张图片

 

--------------------- 

 

原文:https://blog.csdn.net/wo18237095579/article/details/83506062 

 

你可能感兴趣的:(springcloud)