使用步骤:
1、 引入Hystrix依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency>
2、主类开启注解
使用@EnableCircuitBreaker ,可使用@SpringCloudApplication注解代替,该注解包含以下注解:
3、Service层具体方法上使用@Hystrix注解,并注明回调方法
@HystrixCommand(fallbackMethod = "findOrderFallback")
流程图:
1、创建HystrixCommand或HystrixObservableCommand对象
2、根据创建的对象选择方法执行命令
3、判断是否缓存,是直接返回Observable对象
4、断路器是否打开,是直接调用第八步回调方法
5、线程池/请求队列/信号量是否占满,是直接调用第八步回调方法
6、请求依赖(执行状态,是否超时)
7、根据第六步中的执行状态,超时反馈,决定是否开启断路器
8、回调方法
9、第六步请求依赖正常结束的话,返回Observable对象
Comments | NOTHING