SentineI 服务熔断降级的策略 | 学习笔记

简介: 快速学习 SentineI 服务熔断降级的策略

开发者学堂课程【精通 Spring Cloud Alibaba SentineI 服务熔断降级的策略学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/634/detail/10149


SentineI 服务熔断降级的策略


1Sentinel 支持服务的熔断降级
1)熔断类似于保险丝,如果超出了我们的阈值的情况下,在一定的时间内不会执行我们的业务逻辑直接执行我们的服务降级的方法。
2)服务降级:走本地 fallback 方法返回有-一个友好的提示给客户端,不会真实的执行我们的业务逻辑。

2、服务降级的策略:
1 rt (平均响应时间)

2) 错误比例
3)错误次数

3、熔断降级概述

除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。

由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积。

Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高) , 对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(默认行为是抛出 DegradeException )

4、降级策略

1)平均响应时间( DEGRADE_ GRADE _RT):1s 内持续进入5个请求,对应时刻的平均响应时间(秒级)均超过阈值( count , ms 为单位) ,

那么在接下的时间窗口( DegradeRule 中的 timeWindow , s 为单位)之内,对这个方法的调用都会自动地熔断(抛出DegradeException ).

注意 Sentinel 默认统计的 RT 上限是4900 ms ,超出此阈值的都会算作4900 ms ,若需要变更此.上限可以通过启动配置项-Dcsp. sentinel.statistic.max.rtxox 来配置
2)异常比例( DEGRADE GRADE_ EXCEPTION RATIO):当资源的每秒请求量>=5,并且每秒异常总数占通过量的比值超过阈值( DegradeRule 中的count )之后,资源进入降级状态,即在接下的时间窗口( DegradeRule 中的timeWindow , s 为单位)之内,对这个方法的调用都会自动地返回。异常比率的阈值范围是[0.01.0] ,代表0%- 100%
3)异常数(DEGRADE_ GRADE EXCEPTION, COUNT):当资源近1分钟的异常数目超过阈值之后会进行熔断。注意由于统计时间窗口是分钟级别的,timeWindow 小于60s ,则结束熔断状态后仍可能再进入熔断状态。

相关文章
|
存储 监控 安全
单点登录的安全性如何保证?有哪些常见的安全风险
单点登录的安全性如何保证?有哪些常见的安全风险
983 2
|
运维 监控 网络协议
JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC
JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC
1087 0
|
缓存 运维 监控
Dubbo服务降级:保障稳定性的终极指南【六】
Dubbo服务降级:保障稳定性的终极指南【六】
348 0
|
Java 数据库连接 Maven
如何使用Sentinel实现流控和降级
通过以上步骤,你可以使用Sentinel实现应用的流量控制和降级操作,以保护系统在高流量或不稳定情况下的稳定性。欢迎关注威哥爱编程,一起学习成长。
560 1
|
7月前
|
人工智能 自然语言处理 程序员
来问我!看看通义灵码近期上新了哪些功能?
通义灵码近期上线了编程智能体,提供智能问答、文件编辑和智能体三种模式,满足不同开发场景需求。智能体会根据任务描述使用工程检索、文件编辑等工具完成复杂编码任务。同时,新增Qwen3系列模型服务,支持多模型配置,并优化上下文选择交互,强化记忆能力。此外,国际站支持阿里云账号登录,企业版可配置多个推理模型服务,进一步提升开发者体验。
344 17
ly~
|
消息中间件 存储 供应链
RocketMQ 消息的重试机制有什么优缺点?
RocketMQ 消息重试机制提高了消息处理的可靠性和系统的适应性,简化了错误处理,但也会增加系统延迟、可能导致消息重复处理并占用系统资源。适用于需要高可靠性的场景,如金融交易和电商订单处理。
ly~
310 5
|
存储 Java 索引
【数据结构】链表从实现到应用,保姆级攻略
本文详细介绍了链表这一重要数据结构。链表与数组不同,其元素在内存中非连续分布,通过指针连接。Java中链表常用于需动态添加或删除元素的场景。文章首先解释了单向链表的基本概念,包括节点定义及各种操作如插入、删除等的实现方法。随后介绍了双向链表,说明了其拥有前后两个指针的特点,并展示了相关操作的代码实现。最后,对比了ArrayList与LinkedList的不同之处,包括它们底层实现、时间复杂度以及适用场景等方面。
332 10
【数据结构】链表从实现到应用,保姆级攻略
|
11月前
|
机器学习/深度学习 运维 分布式计算
Pandas数据应用:异常检测
本文介绍如何使用Pandas进行异常检测,涵盖异常值定义及其对数据分析的影响。通过简单统计方法(如均值+3标准差)、箱线图法(基于四分位距IQR)和基于密度的方法(如DBSCAN),并提供代码案例。同时,针对数据类型不匹配、缺失值处理不当及大数据量性能问题等常见报错给出解决方案。掌握这些技术有助于提高数据分析的准确性和可靠性。
469 19
|
Java Maven
JDK动态代理和CGLIB动态代理的区别及实例
JDK动态代理和CGLIB动态代理的区别及实例
787 0
|
搜索推荐 Java
Java异常:IllegalArgumentException Collections.sort报错
Java异常:IllegalArgumentException Collections.sort报错
248 0