首页 > 其他分享 >Sentinel之配置熔断降级规则

Sentinel之配置熔断降级规则

时间:2024-12-11 16:43:35浏览次数:5  
标签:降级 调用 rule 熔断 DEGRADE 规则 Sentinel

熔断降级规则-DegradeRule
1.可以通过调用 DegradeRuleManager.loadRules 方法来用硬编码的方式定义熔断降级规则
2.熔断降级规则DegradeRule定义中的重要属性如下

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 引入)

添加熔断降级规则

@PostConstruct
public void initDegradeRule() {
    List<DegradeRule> rules = new ArrayList<>();
    DegradeRule rule = new DegradeRule();
    rule.setResource("driverInfo");
    /**
         * 设置熔断策略
         * DEGRADE_GRADE_RT:平均响应时间[慢调用]
         * DEGRADE_GRADE_EXCEPTION_RATIO:异常比例数量
         * DEGRADE_GRADE_EXCEPTION_COUNT:异常数
         */
    rule.setGrade(RuleConstant.DEGRADE_GRADE_EXCEPTION_COUNT);
    //设置阈值
    rule.setCount(2);
    //设置 熔断时长
    rule.setTimeWindow(30);
    // 统计时长(单位为 ms) 默认1000
    rule.setStatIntervalMs(60*1000);
    //将规则添加到集合中
    rules.add(rule);
    DegradeRuleManager.loadRules(rules);
}

标签:降级,调用,rule,熔断,DEGRADE,规则,Sentinel
From: https://www.cnblogs.com/Eduhg/p/18599912

相关文章

  • sentinel go 熔断降级
    Overview在高可用设计中,除了流控外,对分布式系统调用链路中不稳定的资源(比如RPC服务等)进行熔断降级也是保障高可用的重要措施之一。现在的分布式架构中一个服务常常会调用第三方服务,这个第三方服务可能是另外的一个RPC接口、数据库,或者第三方API等等。例如,支付的时候,可能需......
  • 流量控制 (Sentinel Go)
    Overview流量控制(flowcontrol),其原理是监控资源(Resource)的统计指标,然后根据token计算策略来计算资源的可用token(也就是阈值),然后根据流量控制策略对请求进行控制,避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。SentinelGo的流量控制实现代码参考:https://github.......
  • Sentinel概述
    Sentinel简介背景:随着微服务的流行,服务和服务之间的稳定性变得越来越重要Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制。流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性......
  • 第77篇 Redis中的Sentinel(哨兵模式)详解
    前言Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是:持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。复制:复制是高可用Redis的基础,哨兵和集群都是在复制......
  • 微服务-sentinel服务保护
    1.简述在微服务远程调用的过程中,会存在几个问题需要解决。1.首先是业务健壮性问题:例如在查询购物车列表业务中,购物车服务需要查询最新的商品信息。如果商品服务查询时发生故障,查询购物车列表在调用商品服务时,是不是也会异常?从而导致购物车查询失败。但从业务角度来说,为了提......
  • Redis探秘Sentinel(哨兵模式)
    概述Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是:持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。复制:复制是高可用Redis的基础,哨兵和集群都是在复制......
  • 使用 Sentinel 实现请求限流、线程隔离、服务熔断和 Fallback 备用方案
    引言在微服务架构中,随着系统的复杂性和业务的增长,服务间的依赖关系也日益增多。在这种高并发、复杂的环境下,如何保证系统的高可用性、稳定性和可靠性,成为了开发者们的重要课题。为了应对这些挑战,服务容错与流量控制技术尤为重要。Sentinel,作为一个强大的分布式服务流量控制......
  • Redis设计与实现第16章 -- Sentinel 总结1(初始化、主从服务器获取信息、发送信息、接
    Sentinel是Redis的高可用解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器替代已下线的主服务器......
  • 12.SpringCloudAlibabaSentinel实现熔断和限流
    1.Sentinel1.1官网sentinel官网,类似SpringCloudCircuitBreaker。1.2是什么面向分布式、多语言异构化服务架构的流量治理组件。1.3下载地址https://github.com/alibaba/Sentinel/releases1.4能干吗Sentinel以流量为切入点,从流量控制、流量路由、熔断降级、系统自适......
  • Spring Cloud Alibaba 体系-组件-Sentinel
    Sentinel是阿里巴巴开源的一款面向分布式服务架构的流量控制组件,主要用于处理微服务中的限流、熔断和降级,帮助提高系统的稳定性和可靠性。它在微服务架构中,尤其是与SpringCloud、Dubbo等框架结合时,起到了至关重要的保护作用。1.限流、熔断、降级的概念限流(RateLimitin......