熔断器Hystix的使用与原理
1.1.简介 Hystix,即熔断器。 主页:https://github.com/Netflix/Hystrix/ Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。 1.2.熔断器的工作机制: 正常工作的情况下,客户端请求调用服务API接口: 当有服务出现异常时,直接进行失败回滚,服务降级处理: 当服务繁忙时,如果服务出现异常,不是粗暴的直接报错,而是返回一个友好的提示,虽然拒绝了用户的访问,但是会返回一个结果。 这就好比去买鱼,平常超市买鱼会额外赠送杀鱼的服务。等到逢年过节,超时繁忙时,可能就不提供杀鱼服务了,这就是服务的降级。 系统特别繁忙时,一些次要服务暂时中断,优先保证主要服务的畅通,一切资源优先让给主要服务来使用,在双十一、618时,京东天猫都会采用这样的策略。 1.3.动手实践 1.3.1.引入依赖 首先在user-consumer中引入Hystix依赖: < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-starter-netflix-hystrix </ artifactId > </ dependency > 1.3.2.开启熔断