一文速通Sentinel熔断及降级规则

news2024/11/24 19:24:18

目录

基本介绍

熔断模式

状态机的三个状态

熔断降级规则 

断路器熔断策略 

慢调用

异常比例

异常数


基本介绍

熔断模式

主要是参考电路熔断,如果一条线路电压过高,保险丝会熔断,防止火灾。放到我们的系统中,如果某个目标服务调用慢或者有大量超时,此时,熔断该服务的调用,对于后续调用请求,不在继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用。

熔断降级是解决雪崩问题的重要手段。其思路是由断路器统计服务调用的异常比例、慢请求比例,如果超出阈值则会熔断该服务。即拦截访问该服务的一切请求;而当服务恢复时,断路器会放行访问该服务的请求。

Sentinel 和 Hystrix 的原则是一致的: 当调用链路中某个资源出现不稳定,例如,表现为 timeout,异常比例升高的时候,则对这个资源的调用进行限制,并让请求快速失败,避免影响到其它的资源,最终产生雪崩的效果。 

状态机的三个状态

状态机包括三个状态:

  • closed:关闭状态,断路器放行所有请求,并开始统计异常比例、慢请求比例。超过阈值则切换到open状态

  • open:打开状态,服务调用被熔断,访问被熔断服务的请求会被拒绝,快速失败,直接走降级逻辑。Open状态5秒后会进入half-open状态

  • half-open:半开状态,放行一次请求,根据执行结果来判断接下来的操作。

    • 请求成功:则切换到closed状态

    • 请求失败:则切换到open状态

熔断降级规则 

熔断降级规则包含下面几个重要的属性: 

Field说明默认值
resource资源名,即规则的作用对象
grade熔断策略,支持慢调用比例/异常比例/异常数策略慢调用比例
count慢调用比例模式下为慢调用临界 RT(超出该值计为慢调用);异常比例/异常数模式下为对应的阈值
timeWindow熔断时长,单位为 s
minRequestAmount熔断触发的最小请求数,请求数小于该值时即使异常比率超出阈值也不会熔断(1.7.0 引入)5
statIntervalMs统计时长(单位为 ms),如 60*1000 代表分钟级(1.8.0 引入)1000 ms
slowRatioThreshold慢调用比例阈值,仅慢调用比例模式有效(1.8.0 引入)

断路器熔断策略 

断路器熔断策略有三种:慢调用、异常比例、异常数。

慢调用

慢调用:业务的响应时长(RT)大于指定时长的请求认定为慢调用请求。在指定时间内,如果请求数量超过设定的最小数量,慢调用比例大于设定的阈值,则触发熔断。

慢调用比例 (SLOW_REQUEST_RATIO):选择以慢调用比例作为阈值,需要设置允许的慢调用 RT(即最大的响应时间),请求的响应时间大于该值则统计为慢调用。当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且慢调用的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求响应时间小于设置的慢调用 RT 则结束熔断,若大于设置的慢调用 RT 则会再次被熔断。

RT超过500ms的调用是慢调用,统计最近10000ms内的请求,如果请求量超过10次,并且慢调用比例不低于0.5,则触发熔断,熔断时长为5秒。然后进入half-open状态,放行一次请求做测试。  

异常比例

 异常比例:统计指定时间内的调用,如果调用次数超过指定请求数,并且出现异常的比例达到设定的比例阈值,则触发熔断。

异常比例 (ERROR_RATIO):当单位统计时长(statIntervalMs)内请求数目大于设置的最小请求数目,并且异常的比例大于阈值,则接下来的熔断时长内请求会自动被熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。异常比率的阈值范围是 [0.0, 1.0],代表 0% - 100%。

 

统计最近1000ms内的请求,如果请求量超过10次,并且异常比例不低于0.4,则触发熔断。  

异常数

异常数:统计指定时间内的调用,如果调用次数超过指定请求数,并且出现异常的比例达到设定的超过指定异常数,则触发熔断。

异常数 (ERROR_COUNT):当单位统计时长内的异常数目超过阈值之后会自动进行熔断。经过熔断时长后熔断器会进入探测恢复状态(HALF-OPEN 状态),若接下来的一个请求成功完成(没有错误)则结束熔断,否则会再次被熔断。

统计最近1000ms内的请求,如果请求量超过10次,并且异常比例不低于2次,则触发熔断。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1161650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Azure 机器学习 - 无代码自动机器学习的预测需求

了解如何在 Azure 机器学习工作室中使用自动化机器学习在不编写任何代码行的情况下创建时序预测模型。 此模型将预测自行车共享服务的租赁需求。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕…

【C语言】指针初阶

✨个人主页: Anmia.🎉所属专栏: C Language 🎃操作环境: Visual Studio 2019 版本 ​ 1.指针是什么? 指针理解的2个要点: 指针是内存中一个最小单元的编号,也就是地址平时口语中说的…

Vue elemen ui 移除上次校验与部分清除上次校验

场景: 可以切换类型,下面的输入框参数也会随着改变。 如果不清除上次的校验就会出现,之前的大陆企业的校验还会出现在香港企业的校验中 方法: watch:{ruleForm.paymentSubjectType:{ 通过监听表单的类型来调用 clearValidate方…

计算机网络之网络层(全)

网络层的功能 互联网在网络层的设计思路是,向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。 路由器在能够开始向输出链路传输分组的第一位之前,必须先接收到整个分组,这种机制称为:存储转发机制 异构网络互连 用…

transformers-Causal lanuage modeling

https://huggingface.co/docs/transformers/main/en/tasks/language_modelinghttps://huggingface.co/docs/transformers/main/en/tasks/language_modelingcausal lanuage model常用于文本生成。预测token系列中的下一个toekn,并且model只能关注左侧的token&#xf…

超声波清洗清洁力强怎么选、适合家用超声波清洗机推荐

因为各种原因很多导致很多小朋友从小就开始近视,佩戴眼镜,眼镜只要是戴上了就很难再摘下来,也有很多朋友从小到大都不知道清洗眼镜的重要性,眼镜长时间不清洗的话上面的细菌堪比茅厕这么脏!所以眼镜清洗千万别忽视了&a…

vue2导出数据生成xlsx文件

1.在utils文件夹新建tool.js tool.js文件 import XEUtils from xe-utilsexport function exportCsv(csv, title) {const t XEUtils.toDateString(Date.now(), yyyy-MM-dd) // 当前日期const filename ${t title}.xlsx // 拼接文件名const blob new Blob([csv]) //创建一…

在Linux上编译gdal3.1.2指南

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 以Ubuntu 18编译gdal3.1.2为例,编译gdal3.1.2需要先编译proj库和geos库(可选)。我选择的proj库版本为proj-7.1.0,编译proj-7.1.0需要先编译tiff库和sqlite3。我选择的sqlite3的版本为…

玩转多个数据库,一个Itbuilder在线工具就搞定!

随着需要使用的数据库类型日渐繁多,开发运维等技术人员如何高效便捷的访问、操作和管理数据,成了一个难题。设计一个好的数据库,就像孩子从小打下的基础,很多项目的失败是由于缺乏适当的数据库设计。因此,选择正确的数…

版本控制系统-SVN

SVN Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统。 官网:https://subversion.apache.org 资料:https://svnbook.red-bean.com、https://www.runoob.com/svn/svn-tutorial.html 下载:https://sourceforg…

【LeetCode刷题-哈希】--217.存在重复元素

217.存在重复元素 class Solution {public boolean containsDuplicate(int[] nums) {Set<Integer> hashSet new HashSet<>();for(int i 0;i<nums.length;i){if(hashSet.contains(nums[i])){return true;}hashSet.add(nums[i]);}return false;} }

U盘格式化恢复怎么做?常用的3个方法分享!

“前段时间由于我的u盘中病毒了&#xff0c;我不得已把它格式化了&#xff0c;但是今天我在找一份重要的资料时才发现我的资料在u盘中被一起删除掉了&#xff0c;有什么方法可以帮我找回我u盘中的数据吗&#xff1f;” U盘可以为我们存储各种类型的文件&#xff0c;同时它也很便…

C++标准模板(STL)- 类型支持 (类型属性,is_volatile,is_trivial,is_const)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…

SOLIDWORKS PDM缩短图纸从设计到发布时间

SOLIDWORKS线上协同设计、线上审核、版本管理、任务等大大缩短图纸从设计到发布时间。 在SOLIDWORKS PDM 中工作流程是整个系统的骨架和脉络&#xff0c;所有的文档都需要进入某一工作流程&#xff0c;所有的操作及权限&#xff0c;都依附于特定的工作流程。SOLIDWORKS PDM的工…

一文掌握Java Stream API

引言 Java Stream API 自 Java 8 引入以来&#xff0c;已成为处理集合数据的强大工具。它不仅提高了代码的可读性&#xff0c;还优化了性能&#xff0c;使得集合操作变得更加简洁和高效。本文将深入探讨如何利用 Stream API 的常用操作&#xff0c;帮助你更好地掌握这一强大的…

算法模板之队列解密 | 图文详解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、算法模板、汇编语言 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️模拟队列1.1 &#x1f514;用数组模拟实现队列1.1.1 &#x1f47…

解决远程桌面 这可能是由于CredSSP加密数据库修正问题

运行环境 : Windows Server 2012 R2 Standard 解决方式 策略组 gpedit.msc&#xff0c;注册表 regedit 等方式都尝试无效时&#xff0c;可尝试把下面这个勾勾去掉。

【小黑嵌入式系统第七课】PSoC® 5LP 开发套件(CY8CKIT-050B )——PSoC® 5LP主芯片、I/O系统、GPIO控制LED流水灯的实现

上一课&#xff1a; 【小黑嵌入式系统第六课】嵌入式系统软件设计基础——C语言简述、程序涉及规范、多任务程序设计、状态机建模(FSM)、模块化设计、事件触发、时间触发 文章目录 一、PSoC 5LP主芯片二、PSoC 5LP I/O系统(1) I/O系统特性(2) I/O系统怎样运作&#xff1f;1、I/…

【PC】神秘市场2023

神秘市场2023 我们有一个令人振奋的消息要告诉大家&#xff0c;神秘市场要开张了&#xff01; 据可靠情报&#xff0c;这次全新的神秘市场将返场稀有度高的道具。全新黑货箱也将在藏匿处出现&#xff0c;工坊也会推出全新工匠通行证。不仅如此&#xff0c;特殊制作中也能看到…

《YOLOv8-Pose关键点检测》专栏介绍 CSDN独家改进创新实战 专栏目录

YOLOv8-Pose关键点检测专栏介绍&#xff1a;http://t.csdnimg.cn/gRW1b ✨✨✨手把手教你从数据标记到生成适合Yolov8-pose的yolo数据集&#xff1b; &#x1f680;&#x1f680;&#x1f680;模型性能提升、pose模式部署能力&#xff1b; &#x1f349;&#x1f349;&#…