hystrix 是熔断器,是一种保护机制,当服务端宕机了,熔断器会做降级、熔断处理,快速返回备用接口,不至于让请求堆积。如果服务端回复了,熔断器也能自动感知 恢复。
熔断器的触发场景有很多种,如限流触发降级、请求超时触发降级、请求失败次数达到阈值降级。
熔断和降级的概念: 个人理解两个差不多。熔断是后续请求不再进来了,一直到感知服务正常后再恢复。降级:就是改用备用方案,一般两种方式,一是重试,而是返回固定报错。也可以主动降级,如大促时关闭核心服务,后续慢慢处理。被动降级就是 限流、熔断、超时了。
下面对失败率触发降级、请求超时触发降级、限流触发降级分别做测试
1. 请求失败次数过多触发降级
在demo1服务中做测试:
引入hystrix依赖:
<!--添加Hystrix依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.0.2.RELEASE</version>
</dependen