Hystrix作为一个容错组件,本文从它的作用、熔断设计、工作流程和应用方面一一道来,帮助大家了解如何使用。
1、什么是灾难性雪崩效应
要讲Hystrix,我们就要讲一种场景,在微服务架构中,如果底层服务出现故障,服务无法响应或者响应延迟,其调用者等待时间会变长,整个系统的性能就会下降,此时如果有大量的请求涌入,容器的资源就会被消耗掉,从而导致所有服务瘫痪,这就是灾难性雪崩效应,本文主要讲使用Hystrix进行服务熔断来解决雪崩问题。
2、什么是Hystrix
Hystrix 是由 Netflix 开源的一个延迟和容错库,用于隔离访问远程系统、服务和第三方库,防止级联失败,从而提升系统的可用性与容错性。
3、Hystrix的作用
(1)降级
当服务负载过高,或出现故障、程序运行异常、超时、服务熔断触发服务降级、线程池/信号量打满等情况时,可以对服务进行降级,返回指定的托底数据,提高用户体验。
(2)熔断