1、什么是服务的熔断机制?
在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很常见的。

在高并发情况下,单个服务的延迟会导致整个请求都处于延迟状态,可能在几秒钟就使整个线程处于负载饱和状态。

某个服务的单点故障会导致用户的请求处于阻塞状态,最终的结果就是整个服务的线程资源消耗殆尽。

由于服务的依赖性,会导致依赖该故障服务的其他服务也处于线程阻塞状态,最终导致这些依赖服务的线程资源消耗殆尽,直到不可用,

从而导致整个服务系统不可用,这就是雪崩效应。

为了防止雪崩效应,就需要熔断机制来保护系统的微服务,做出响应,避免资源被耗尽。

既要能响应,又要能防护,当我们的请求达到一个负载阈值,就启用熔断,把真实接口关掉,给客户端请求一个响应,这个响应,我们可以设置。

服务熔断就是对该服务的调用执行熔断,对应后续请求,不在继续调用该目标服务,而是直接返回,从而可以快速释放资源,或者服务出现故障,会把故障信息返回给客户端

服务熔断的几种方式:

断路器,这是一个硬件设施,比如保险丝或者电子设备等等

断路器模式,可以进行故障检测,断路器状态一般包括Closed关闭,Open打开,Half-Open半打开

2、熔断的意义?
本质上是为了保护系统,让系统保持稳定;

减少性能损耗;

及时响应;

熔断器的功能:异常处理、日志记录、测试失败的操作、手动复位、并发、加速断路、重试失败请求

3、熔断与降级的区别?
相似性:目的一致、表现类似、粒度一致

区别:触发条件不同,熔断一般是故障引起,降级一般是整体性能。管理目标层次不同。

4、什么是Hystrix?

Hystrix是Netflix的一个开源框架,是业界表现非常好的一个熔断器模型实现的开源组件,地址如下:https://github.com/Netflix/Hystrix

中文名为“豪猪”,即平时很温顺,在感受到危险的时候,用刺保护自己;在危险过去后,还是一个温顺的肉球。整个框架的核心业务就是 何时需要保护 和如何保护。

Hystrix提供了熔断器功能,能够解决分布式系统中出现联动故障,Hystrix是通过隔离服务的访问点阻止故障,并提供故障解决方案,从而提高分布式系统弹性。

Hystrix可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。

Hystrix通过将依赖服务进行资源隔离,进而阻止某个依赖服务出现故障时在整个系统所有的依赖服务调用中进行蔓延;同时Hystrix 还提供故障时的 fallback 降级机制。

总而言之,Hystrix 通过这些方法帮助我们提升分布式系统的可用性和稳定性。

5、Hystrix设计原则
防止单个服务故障耗尽整个服务的Servlet容器(Tomcat/Jetty)的线程资源。
快速失败机制,如果某个服务出现故障,则调用该服务的请求迅速失败,而不是线程等待。
提供回退方案(fallback),在请求发生故障时,提供设定好的回退方案。
使用熔断机制,防止故障扩散到其他服务。
提供熔断器的监控组件Hystrix Dashboard,近实时的监控,报警以及运维操作。
6、Hystrix工作服原理
产研制度规范 > 基于Hystrix的熔断机制 > Hystrix工作机制.jpeg

首先,当服务的某个API接口的失败次数在一定时间内小于设定的阈值时,熔断器处于关闭状态,该API接口正常提供服务。

当该API接口处理请求失败的次数大于设定阈值时,Hystrix判定该接口出现了故障,打开熔断器。

这时请求该API接口会执行快速失败的逻辑(fallback的逻辑),不执行业务,请求的线程不会处于阻塞状态。

处于打开状态的熔断器,一段时间后会处于半打开状态,并将一定数量的请求执行正常逻辑。

剩余的请求会执行快速失败,若执行正常请求的逻辑失败了,则熔断器继续打开。

如果执行成功了,则将熔断器关闭,这样设计的熔断器则具备了自我修复的能力。

7、hystrix适用场景
核心无降级业务
计费业务,id生成器业务作为核心业务,是整个短信业务的核心,如果引入熔断机制会导致业务流程失败,相当于整个短信业务不可用,所以这类核心无降级的服务是不应该启动hystrix的。

边缘业务或者可降级的业务
相对的,短信发送微服务,因为对接了多个渠道,当某个渠道不可用的情况下,hystrix熔断掉,然后采取另外的渠道进行下发。在发送量级比较大的情况,可以减少短信发送进行重试的时间。
如果需要保护后端的es集群,需要协调调用方限制自己的请求,当后端请求返回比较慢的情况下,通过hystrix超时进行熔断,避免后端es挂掉。前提是调用方对查询的数据容忍度比较高,就算查询不到数据也可以接受(短暂性)

Hystrix的熔断机制相关推荐

  1. SpringCloud进阶-Hystrix的熔断机制+Hystrix的工作流程

    提示:本文主要对SpringCloud中的Hystrix的熔断机制和工作流程进行总结 文章目录 前言 一.简介 1.熔断是什么 二.实操 1.实现 2.测试 三.总结 1.大神结论 2.熔断类型 3. ...

  2. SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝 ...

  3. SpringCloud:Hystrix 熔断机制(基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)

    所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢?当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示, ...

  4. hystrix 页面_微服务 | 使用Hystrix实现Spring Cloud的熔断机制

    1. 熔断机制介绍 在介绍熔断机制之前,我们需要了解微服务的雪崩效应.在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可以独立演进.但是,一个应用可能会有多个微服 ...

  5. 熔断机制hystrix

    熔断机制hystrix 一.问题产生 雪崩效应:是一种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程 正常情况下的服务: 某一服务出现异常,拖垮整个服务链路,消耗整个线程队列,造 ...

  6. java中的熔断机制_SpringCloud- 第八篇 Hystrix熔断机制(五)

    1:雪崩效应概述 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的"扇出".如果扇出的链路上某个微服务的调用响应时间 ...

  7. Spring Cloud Hystrix熔断机制原理剖析

    一.前言 在分布式系统架构中多个系统之间通常是通过远程RPC调用进行通信,也就是 A 系统调用 B 系统服务,B 系统调用 C 系统的服务.当尾部应用 C 发生故障而系统 B 没有服务降级时候可能会导 ...

  8. [SpringCloud] 入门-第四篇: 熔断机制 hystrix

    1. hystrix hystrix对应的中文名字是"豪猪",豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制, 所以开发团队取了这个名字. (⊙o⊙)- 为什么要用 ...

  9. 熔断机制 Hystrix 的使用

    熔断机制 Hystrix 配合远程调用 hystrix对应的中文名字是"豪猪",豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机 制. 这与hystrix本身的功能不谋 ...

最新文章

  1. 开源软件与商业软件的选择
  2. WICC上了全球很多家交易所,它是一种资产和流动性的代表
  3. danfoss 变频器的profinet通讯调试_840D sl系统PLC 开机调试
  4. oracle结构设计
  5. python----面向对象:1类的定义
  6. docker 网络模型
  7. 内联命名空间(inline namespace)
  8. 最新桌面操作系统份额统计:Windows占比91.59%
  9. VxWorks任务调度
  10. 阿里巴巴张勇:创造风口而不是追逐
  11. M1 Mac:支持 USB-C,但不完全支持
  12. android空格对齐
  13. mysql 全文索引 (N-gram parser)
  14. C语言基础之类型定义
  15. 学习 Java 的历程和体会『写给新手看,欢迎老司机批评和建议』
  16. 项目经理成长的五个阶段
  17. P1134 高精度阶乘
  18. 盘点适合入门学习的C/C++开源项目
  19. 强势来袭!国内首本大型分布式架构笔记浴火新生
  20. web应用漏洞扫描工具实践——wmap

热门文章

  1. 把一个字符串分割成数组 php_PHP怎么将字符串拆分成数组
  2. 咖啡因中毒:如何计算 Espresso 杯容积?
  3. mysql 触发器 bug_MySQL触发器不起作用
  4. win10系统的两台电脑之间局域网共享文件
  5. 统计学中存在两类错误:I型错误II型错误 为什么人们主要关心I型错误
  6. SEO优化:输出优质原创文章
  7. 网曝快手在离职证明上写:如需背调,只能通过公司指定邮箱,其他渠道均不认可!如何捍卫自己的权益?...
  8. 常见的RuntimeException异常有哪些?
  9. 常见的几种RuntimeException及其详解
  10. Exp3 免杀原理和实践