Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。
“断路器”本身是一种开关装置, 当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个服务预期的,可处理的备选响应(FallBack) ,而不是长时间的等待或者抛出调用方法无法处理的异常,这样就可以保证了服务调用方的线程不会被长时间,不必要的占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩
服务的熔断
服务的降级
服务的隔离
服务的限流
hystrix一定和provider在一起,因为provider需要去请求数据库,一旦数据发生异常,一定是和provider相关的创建provider-hystrix一般情况下feign都会和hystrix连用,所以需要打开feign对hystrix的支持有关于feign的代码都不再需要改变,因为最终hystrix和客户端的没有关系
面试题:
? 当进行调用的时候一共使用到了三个地方:
? consumer
? provider
? api
? 在你们公司开发阶段,你的熔断上在哪一层?
? 放到API中,具体看图!
原文:https://www.cnblogs.com/licha233/p/12829166.html