博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是服务熔断?
阅读量:1985 次
发布时间:2019-04-27

本文共 469 字,大约阅读时间需要 1 分钟。

在这里插入图片描述

什么是服务熔断?

熔断这一概念来源于电子工程中的断路器(Circuit Breaker)。在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。

这种牺牲局部,保全整体的措施就叫做熔断。

如果不采取熔断措施,我们的系统会怎样呢?我们来看一个栗子。

当前系统中有A,B,C三个服务,服务A是上游,服务B是中游,服务C是下游。

一旦下游服务C因某些原因变得不可用,积压了大量请求,服务B的请求线程也随之阻塞。线程资源逐渐耗尽,使得服务B也变得不可用。紧接着,服务A也变为不可用,整个调用链路被拖垮。

像这种调用链路的连锁故障,叫做雪崩。

服务熔断是应对雪崩效应的一种微服务链路保护机制。例如在高压电路中,如果某个地方的电压过高,熔断器就会熔断,对电路进行保护。同样,在微服务架构中,熔断机制也是起着类似的作用。当调用链路的某个微服务不可用或者响应时间太长时,会进行服务熔断,不再有该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响应正常后,恢复调用链路。

转载地址:http://zfuvf.baihongyu.com/

你可能感兴趣的文章
jface databinding:UpdateValueStrategy(数值更新策略)类详解
查看>>
jface databinding:构建一个改进版的通用型数值验证器StringToNumberValidator
查看>>
jface databinding:更简单的ISideEffect实现多目标单边数据绑定塈其原理分析
查看>>
jface databinding: Radio Button group及ISideEffect绑定数据对象的例子
查看>>
jface databinding: 创建readonly(只读)可观察对象(observable)
查看>>
jface databinding:输入无效数值时强制恢复初始值-updateModelToTarget
查看>>
java 8:只取年月日的java.util.Date(时分秒清零)对象
查看>>
Flink的一些核心概念与编程模型(3)
查看>>
Flink的一些核心概念与编程模型(4)
查看>>
Flink Runtime(5)
查看>>
Flink Runtime(6)
查看>>
Flink Runtime(7)--搭建非YARN的主从FLINK集群
查看>>
Flink Runtime(8)-- 创建Flink项目及依赖管理
查看>>
Flink Runtime(9)-- 自己编译Flink
查看>>
Flink Runtime(10)-- Flink编译报错集锦
查看>>
Flink API 通用基本概念(11)
查看>>
Flink DataStream API概述(12)
查看>>
Flink Operator概述(13)
查看>>
Flink Time概述(14)
查看>>
Flink Window概述(15)
查看>>