Hystrix熔断器

Hystrix是一种保护机制,主要作用是:用于隔离访问远程服务、第三方库,防止出现级联失败。
通俗来讲: 用户调用服务A完成某些操作,而服务A内部需要调用服务B,并且服务B内部需要调用服务C,打个比方C服务发生了问题,宕机了,而B服务却不知道,还在一直调用,处在等待时间,级联导致A服务也无法正常运行,最终导致用户操作失败,也在一直等待,整条服务线崩掉了。(雪崩效应)
这就好比,一个汽车生产线,生产不同的汽车,需要使用不同的零件,如果某个零件因为种种原因无法使用,那么就会造成整台车无法装配,陷入等待零件的状态,直到零件到位,才能继续组装。 此时如果有很多个车型都需要这个零件,那么整个工厂都将陷入等待的状态,导致所有生产都陷入瘫痪。一个零件的波及范围不断扩大。
Hystix解决雪崩问题的手段有两个:

  • 线程隔离,服务降级
  • 服务熔断
    1、线程隔离Hystix是内部帮我们搞定的,我们需要关注服务降级,(优先保证核心服务的正常调用),某些不重要的服务比如访问超时或者线程池满了 直接返回报错信息。定时后返回报错信息。
    2、服务熔断
    在这里插入图片描述
    当熔断器关闭时所有的请求都可以正常访问,比如某些服务发生异常,引起整个服务链反应缓慢,此时熔断器会自动打开,将所有的请求降级,统计在一定时间内失败比列是否超过50%,请求次数最少不低于20次,触发熔断熔断器彻底打开,将这些服务彻底断开,避免整个系统崩掉,打开也不是永久的,默认打开5秒后再次检测。是否满足熔断条件,如果不满足就会关闭熔断器,不断循环。

熔断状态机3个状态:

  • Closed:关闭状态,所有请求都正常访问。
  • Open:打开状态,所有请求都会被降级。Hystix会对请求情况计数,当一定时间内失败请求百分比达到阈值,则触发熔断,断路器会完全打开。默认失败比例的阈值是50%,请求次数最少不低于20次。
  • Half Open:半开状态,open状态不是永久的,打开后会进入休眠时间(默认是5S)。随后断路器会自动进入半开状态。此时会释放部分请求通过,若这些请求都是健康的,则会完全关闭断路器,否则继续保持打开,再次进行休眠计时
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值