Spring Cloud(四):服务熔断器Hystrix

一:概述

Netflix创建了一个名为Hystrix的库,实现了断路器的模式。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。

除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控。Spring Cloud也提供了Hystrix Dashboard的整合,对监控内容转化成可视化界面

二:作用

Spring Cloud(四):服务熔断器Hystrix
如图所示:当我们服务之间调用的时候,如果一方发生了服务不可用,将可能导致多相关服务不可以,甚至所有的服务不可以,系统瘫痪。而Hystrix完美的避免了这个雪崩的情况,当服务A不可用时,将返回一个自定义的本地信息,并且接下来的服务将不会调用服务提供者,提供更加快速的响应。当一定时候后,服务又将会尝试去连接后台服务,一旦成功,降下来熔断器将失去作用。

因为Feign组件完美的整合了Ribbon和Hystrix,项目演示下节讲述

代码地址:https://github.com/rubenYuan/Spring-Cloud-Samples

PPT:http://download.****.net/download/ruben95001/9974839

上一篇:服务消费ribbo
下一篇:服务消费feign