SpringCloud笔记:Hystrix使用及流程

发布于 2018-07-25  444 次阅读


使用步骤:

       1、 引入Hystrix依赖

         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>

    2、主类开启注解

            使用@EnableCircuitBreaker ,可使用@SpringCloudApplication注解代替,该注解包含以下注解:

https://img-blog.csdn.net/20180612195030285?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25pdWdhbmcwOTIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    3、Service层具体方法上使用@Hystrix注解,并注明回调方法

@HystrixCommand(fallbackMethod = "findOrderFallback")

流程图:

https://images2017.cnblogs.com/blog/719930/201709/719930-20170903172107968-1042509260.png

1、创建HystrixCommand或HystrixObservableCommand对象

2、根据创建的对象选择方法执行命令

3、判断是否缓存,是直接返回Observable对象

4、断路器是否打开,是直接调用第八步回调方法

5、线程池/请求队列/信号量是否占满,是直接调用第八步回调方法

6、请求依赖(执行状态,是否超时)

7、根据第六步中的执行状态,超时反馈,决定是否开启断路器

8、回调方法

9、第六步请求依赖正常结束的话,返回Observable对象


个人博客,用于记录工作日常的问题。