了解Hystrix之前首先需要明白几个概念,雪崩效应、断路器(熔断机制)、服务降级、线程隔离。
@HystrixCommand默认开启服务降级、熔断机制和线程隔离。 使用@HystrixCommand注解的方法:添加maven依赖(依赖信息添加到parent的pom.xml中),添加@HystrixCommand注解,启动类添加@EnableHystrix注解,配置文件开启Hystrix服务,设置Hystrix超时时间。
通过添加@HystrixCommand注解和不添加该注解的接口中打印出来的线程可以看出使用的不是同一个线程池,所以@HystrixCommand默认是开启线程隔离的。这里User服务中添加了1.5秒延迟,导致该接口执行了fallBack方法,但是并不是因为产生了雪崩效应,而是因为hystrix默认超时时间为1秒,1.5秒导致超过了响应时间,页面报错。需要配置超时时间