Spring Cloud 自主学习总结之熔断器Hystrix!

1.啥是熔断器,为啥要用它?

在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致一堆故障

从而造成整个系统的故障,这种现象叫做服务雪崩,服务雪崩是因为“服务生产者”凉凉而

造成“消费消费者”的不可用,并将不可用逐渐放大的过程!

 

下面放一张图慢慢看文字进行理解!

注意:蓝色代表可以用,橙色代表凉凉。

第一个过程结果是正常的,

第二个过程A作为服务生产者自己凉凉了

到第三个过程a和b的服务全部挂掉了,

到第四个过程cd调用b的时候发现一路全部挂掉了。

 

Hystrix:中文名字叫豪猪,形容豪猪身上的刺,从而有了保护能力。

hystrix的能力就是在你调用服务实效的时候,通过隔离系统所依赖的服务,

防止服务级联失败,同时提供回退的机制,优雅的处理实效问题,并可以更加快的从异常中恢复。

这里讲下个人的理解,在上一篇讲feign服务之间的调用,有个问题没有提出来,就是这个服务之间的调用异常问题,

使用过dubbo框架的朋友肯定对请求超时非常熟悉,在这一点上,它们都是服务之间的调用异常,有很多中原因可能是网咯或者是其他的,但是怎么去解决这一的异常就是个麻烦的问题,hystrix的出现就好像针对服务之间的调用异常捕获一样!

 

下面通过以下段代码来了解下再项目中如何使用!

首先在yml配置文件添加

feign:
hystrix:
enabled: true

然后就是在调用服务的client包下面创建一个impl包,写一个熔断器实现类,

实现调用服务接口!在那个接口方法里写如下信息!

接口层的注解也是需要修改下!

@FeignClient(value="base",fallback = LabelClientImpl.class)

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章