何为熔断降级

今日,恰逢大雪,宜宅,曹操和刘备无所事事,于茅庐之中,煮酒论起天下事。

曹操:现今,微服务遍地开花,一些名词或者概念纷纷出山,广传教义。你看,那“熔断降级”便是其中一个。

刘备:不对,“熔断”和“降级”,这是两个人。只不过他们经常一起去别人家串门,所以就把他们名字连在一起叫的。

曹操:嗯嗯,你说得对。他们也都有自己官方的宣传口号,

比如熔断,“我们提供过载保护。当某个服务故障或者异常发生时,若这个异常条件需要我们处理,我们会采取一些保护措施---直接熔断整个服务,而不是一直等到此服务超时,从而防止整个系统的故障。” 。

又比如降级,“我们提供有损服务,保证服务的柔性可用,避免引起雪崩效应,以维护整个系统的稳定性。当服务器压力剧增的时候,根据当前业务情况及流量,我们会对一些服务和页面进行策略性的操作,从而缓解服务器资源的的压力,以保证核心业务的正常运行,同时也确保了大部分客户能得到正确的响应。” 。

刘备:嗯嗯,这口号有意思。那你知道他们是谁的学生吗?

曹操:这个倒不清楚,只是有耳闻相关传言。话说,某个程序员大咖叫无名,某天有个粉丝向他请教了个问题,一个系统因为某个服务访问量过大而常常崩溃,有没有什么好的解决方法?无名一下子也没有什么好的思路,就拿出电饭煲出来煮一点东西,由于想得比较入神,就拿了大功率的(宿舍有这方面限制,当初买错了),刚开始煮就断电了,无名马上就意思到是拿错锅了,功率超限导致跳闸了。然后过了几分钟,宿舍的供电又自动恢复了,这是备用电源。灯亮起来的时候,无名也抓住了那道光,(功率过大,为保护电路自动跳闸;主电源断开后,备用电源补上,生活顺畅)。诶,那个问题不就也可以这样解决吗?然后,他就提出了“熔断”和“降级”的概念,并分别传给了两位学生。

刘备:这倒像是真的!毕竟源自生活,取自生活!与君一番话,胜读十年书呀!快哉快哉!

参考: SpringCloud(6)---熔断降级理解、Hystrix实战

共同学习,共同进步,若有补充,欢迎指出,谢谢!

原文地址:https://www.cnblogs.com/dengguangxue/p/12012300.html

时间: 2024-09-29 01:34:17

何为熔断降级的相关文章

熔断降级(Polly)

熔断降级(Polly) https://www.cnblogs.com/qhbm/p/9224307.html 一. 什么是熔断降级 熔断就是"保险丝".当出现某些状况时,切断服务,从而防止应用程序不断地尝试执行可能会失败的操作给系统造成"雪崩",或者大量的超时等待导致系统卡死. 降级的目的是当某个服务提供者发生故障的时候,向调用方返回一个错误响应或者替代响应.举例子:调用联通接口服务器发送短信失败之后,改用移动短信服务器发送,如果移动短信服务器也失败,则改用电信短

SpringCloud(6)---熔断降级理解、Hystrix实战

SpringCloud(6)---熔断降级理解.Hystrix实战 一.概念 1.为什么需要熔断降级 (1)需求背景 它是系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案. 在一个分布式系统里,一个服务依赖多个服务,可能存在某个服务调用失败,比如超时.异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败. 比如:某微服务业务逻辑复杂,在高负载情况下出现超时情况. 内部条件:程序bug导致死循环.存在慢查询.程序逻辑不对导致耗尽内存 外部条件:黑客攻击.促销.第三方系

这个注解一次搞定限流与熔断降级:@SentinelResource

在之前的<使用Sentinel实现接口限流>一文中,我们仅依靠引入Spring Cloud Alibaba对Sentinel的整合封装spring-cloud-starter-alibaba-sentinel,就完成了对所有Spring MVC接口的限流控制.然而,在实际应用过程中,我们可能需要限流的层面不仅限于接口.可能对于某个方法的调用限流,对于某个外部资源的调用限流等都希望做到控制.呢么,这个时候我们就不得不手工定义需要限流的资源点,并配置相关的限流策略等内容了. 今天这篇我们就来一起学

Sentinel之熔断降级

除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一.由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积.Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误.当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(默认行为是抛出 DegradeException). 熔断的基本认识: 在大型分布式架构中,一

Zuul2.X网关实现服务熔断降级

版本: <properties> <spring-boot.version>2.1.9.RELEASE</spring-boot.version> <spring-cloud.version>Greenwich.SR4</spring-cloud.version> </properties> 所需依赖: <properties> <spring-cloud.version>Greenwich.SR4</s

微服务之间的通讯安全(六)-Sentinel入门之注解及熔断降级

1.Sentinel注解支持 在学习熔断降级之前,我们先来看一下Sentinel的注解支持,我们使用spring-cloud-starter-alibaba-sentinel依赖,无需额外配置即可使用@SentinelResource注解定义资源. @SentinelResource 用于定义资源,并提供可选的异常处理和 fallback 配置项.常用属性如下: value:资源名称,必需项(不能为空): blockHandler / blockHandlerClass: blockHandle

spring cloud微服务快速教程之(九) Spring Cloud Alibaba--sentinel-限流、熔断降级

0.前言 sentinel的限流.降级功能强大,可以在控制面板中任意制定规则,然后推送到微服务中: 可以根据URL单独制定规则,也可以根据资源名批量制定规则: 需要注意的地方是:1.GITHUB文件在国外的亚马逊服务器已经彻底被墙,无法下载,只能想法找国内的分享,自求多福 2.控制面板制定的规则只保存在内存中,重启就会消失,需要配合其他方式实现持久化存储规则,这点在生产环境中需要注意 1.运行sentinel sentinel只是一个JAR包,下载下来后,直接命令运行该JAR就行,默认的端口是8

聊聊微服务熔断降级Hystrix

在现在的微服务使用的过程中,经常会遇到依赖的服务不可用,那么如果依赖的服务不可用的话,会导致把自己的服务也会拖死,那么就产生了熔断,熔断顾名思义就是当服务处于不可用的时候采取半开关的状态,达到一定数量后就熔断器就打开.这就相当于家里边的保险丝,如果电压过高的话,保险丝就会断掉,起到保护电器的作用. 目前支持熔断,降级的就是Hystrix,当然还有resilience4j还有Sentinel.今天咱们以Hystrix为主吧.其他的大家可以自行研究. Hystrix主要实现三个功能,接下来咱们继续展

ASP.NET Core-HttpClientFactory + Polly 实现熔断降级【转】

本文主要介绍 HttpClientFactory 整合 Polly 的使用,实现对 Http 请求的超时.重试.熔断.降级等操作. HttpClientFactory 集成 Polly 创建 .NET Core API 项目(这里使用的是 .NET Core 2.2): 安装 Microsoft.Extensions.Http.Polly NuGet Package; 在 Startup.cs 的 ConfigureServices 方法中添加 HttpClient 相关代码: public v