Hystrix断路器

概述

分布式系统面临的问题

因为分布式系统是通过服务之间相互调用维持整个系统的,那么,在服务之间调用的时候就可能出现,A服务调用B、C、D,服务,B服务又调用E、C、D服务,E服务又调用F服务…这种服务之间层层调用或者相互调用的复杂关系称为 “扇出”,扇出中如果某个服务不可用了或者响应时间过长,而此时又有大量请求需要调用该服务,那么此时系统占用资源会相当高,进一步可能造成服务器崩溃,又称 “雪崩效应”

是什么

为了解决上述问题,就有了Hystrix断路器。
类似于保险丝的作用

能干嘛

作用就是避免服务之间依赖出现联级故障,造成雪崩效应。

实现原理

在服务调用出故障的服务时,它通过给调用方返回一个可处理的、符合预期的,预备响应(FallBack),而不是长时间的等待,或者抛出调用方无法处理的异常。【处理机制类似与java.util.Optional对空指针异常的处理】

当扇出链路中的某个服务出现问题时会进行服务降级,进而熔断该服务的调用,并返回一个预期的、可处理的预备的结果。当检测到该节点服务响应正常后,恢复服务调用链。

Hystrix会检测服务响应,如果5秒内20次调用服务失败,就会启动服务降级。

熔断机制的注解是@HystrixCommand

这样就避免了服务调用方线程不必要的长时间的等待和占用,从而避免雪崩效应。

官网资料

https://github.com/Netflix/Hystrix/wiki

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值