Hystrix熔断机制与服务降级

一、服务熔断简介

中文网站https://springcloud.cc/

github: https://github.com/Netflix/hystrix

什么是Hystrix

【翻译】在分布式环境中,许多服务依赖中的一些服务发生失败是不可避免的。Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止跨服务的级联故障以及提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性

Hystrix解决了什么问题

(1) 雪崩效应

在复杂的系统中,经常会出现A依赖于B,B依赖于C,C依赖于D,……这种依赖将会产生很长的调用链路,这种复杂的调用链路称为1->N的扇出。
如果在A的调用链路上某一个或几个被调用的子服务不可用或延迟较高,则会导致调用A服务的请求被堵住。
堵住的A请求会消耗占用系统的线程、IO等资源,当对A服务的请求越来越多,占用的计算机资源越来越多的时候,会导致系统瓶颈出现,造成其他的请求同样不可用,最终导致业务系统崩溃,这种现象称为雪崩效应

(2) 服务雪崩

请求的多个服务(A,H,I,P)均能正常访问并返回的情况

请求服务I出现问题时,一个用户请求被阻塞的情况

为大量用户请求服务I出现异常全部陷入阻塞的的情况,即服务发生雪崩的情况

熔断机制

熔断机制是服务雪崩的一种有效解决方案。当指定时间窗内的请求失败率达到设定阈值时,系统将通过断路器直接将此请求链路断开。常见的熔断有两种

  •  预熔断
  •  即时熔断

Hystrix是一种开关装置,类似于熔断保险丝。当Hystrix监控到某个服务发生故障后,其不会让该服务的消费者阻塞,或向消费者抛出异常,而是向消费者返回一个符合预期的、可处理的备选响应(FallBack),这样就避免了服务雪崩的发生

Hystrix对于服务降级的实现方式有两种

  • fallbackMethod服务降级
  • fallbackFactory服务降级

二、服务降级简介

服务降级是请求发生问题时的一种增强用户体验的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2014Team

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值