SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】

这篇具有很好参考价值的文章主要介绍了SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎵歌词分享🎵

岁月在墙上剥落看见小时候。

——《东风破》

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

目录

🥓1.流控规则

🌭2. 熔断规则

🧈3.热点规则 

🧂4.系统规则 


1.流控规则

1.资源名:唯一名称,默认请求路径

2.针对来源: Sentinel可以针对调用者进行限流,填写微服务名,默认default (不区分来源)

3.阈值类型/单机阈值:

  • QPS(每秒钟的请求数量):当调用该api的QPS达到阈值的时候,进行限流
  • 线程数:当调用该api的线程数达到阈值的时候,进行限流

4.是否集群:不需要集群

5.流控模式

  • 直接:api达到限流条件时,直接限流
  • 关联:当关联的资源达到阈值时,就限流自己
  • 链路:只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就进行限流)【api级别的针对来源】

6.流控效果

  • 快速失败:直接失败,抛异常
  • Warm Up:根据codeFactor (冷加载因子,默认3)的值,从阈值/codeFactor,经过预热时长,才达到设置的QPS阈值
  • 排队等待:匀速排队,让请求以匀速的速度通过,阈值类型必须设置为QPS,否则无效

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

2. 熔断规则

  • 1.RT(平均响应时间,秒级)平均响应时间超出阈值在时间窗口内通过的请求>=5, 两个条件同时满足后触发降级。窗口期过后关闭断路器。RT最大4900 (更大的需要通过-Dcsp.sentinel.statistic.max.rt=XXXX才能生效)
  • 2.异常比列(秒级)QPS >=5 且异常比例(秒级统计)超过阈值时,触发降级;时间窗口结束后,关闭降级
  • 3.异常数(分钟级)异常数(分钟统计)超过阈值时,触发降级;时间窗口结束后,关闭降级

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

3.热点规则 

3.1概述

何为热点?热点即经常访问的数据很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:

  • 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制
  • 用户ID为参数,针对一段时间内频繁访问的用户ID 进行限制

参数索引:从0开始计算~

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

3.2基本使用 

@sentinelResource:配置热点规则(简单说明)

属性value:资源名,blockHandler:返回的兜底方法(设置了比较友好)

    @GetMapping("/testHotKey")
    @SentinelResource(value = "testHotKey",blockHandler = "deal_testHotKey")
    public String testHotKey(@RequestParam(value = "p1",required = false) String p1,
                             @RequestParam(value = "p2",required = false)String p2){

        return "-----------testHotKey-----------";
    }

    public String deal_testHotKey(String p1, String p2, BlockException blockException){
        return "deal_testHotKey,/(ㄒoㄒ)/~~";
    }

3.3参数例外项 

  • 普通:超过1秒钟一个后,达到阈值1后马上被限流
  • 我们期望p1参数当它是某个特殊值时,它的限流值和平时不一样
  • 特例假如当p1的值等于5时,它的阈值可以达到100

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

4.系统规则 

4.1概述

  • 系统保护规则是从应用级别的入口流量进行控制,
  • 从单台机器的loadCPU使用率平均RT入口QPS并发线程数等几个维度监控应用指标,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。

4.2参数说明 

  • Load(仅对Linux/Unix-like机器生效) :系统的load1作为启发指标,进行自适应系统保护。当系统load1超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR阶段)。系统容量由系统的 maxQps * minRt 估算得出。设定参考值一般是CPUcores * 2.5。
  • CPU使用率:当系統 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0)比较灵敏。
  • 平均RT:当单台机器上所有入口流量的平均RT达到阈值即触发系统保护,单位是毫秒。
  • 并发线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
  • 入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】,springCloudAlibaba【大道秘籍】,sentinel,java,spring cloud,后端,spring boot,分布式,spring

 文章来源地址https://www.toymoban.com/news/detail-820755.html

到了这里,关于SpringCloud Aliba-Sentinel【中篇】-从入门到学废【5】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从基础入门到学穿C++(类和对象篇)【超详细】【一站式速通】

    C语言是一种面向过程的语言,C++和python、java一样都是一种面向对象的语言。 面向对象编程(Object-Oriented Programming,OOP)和面向过程编程(Procedural Programming)是两种不同的编程范式 面向对象编程 :强调的是将现实世界中的事物抽象成对象,并通过对象之间的交互来实现程序

    2024年04月09日
    浏览(38)
  • 从基础入门到学穿C++(C++语法基础篇)【超详细】【一站式速通】

    C++是一门什么样的语言,它与C语言有着什么样的关系? C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了 OOP(object oriented programming

    2024年04月16日
    浏览(42)
  • SpringCloud面试题——Sentinel

    Sentinel是一个面向分布式架构的轻量级服务保护框架,实现服务降级、服务熔断、服务限流等功能 降级是通过开关配置将某些不重要的业务功能屏蔽掉,降级并不是功能不可用,而是用一种默认返回、异步执行、延迟处理等方式进行降低处理。 在服务的依赖调用中,当被调用

    2024年04月28日
    浏览(31)
  • springcloud~Sentinel

    随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳

    2024年02月02日
    浏览(28)
  • 【SpringCloud——Sentinel】

    微服务调用链路中的某个服务发生故障,引起整个链路中的所有微服务都不可用,这就是雪崩。 设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待。  弊端:假设等待时间为1s,但是每秒钟传递过来的请求为2个,迟早有一天,线程数量也会填满整个

    2024年02月08日
    浏览(38)
  • SpringCloud 使用sentinel

    一、添加依赖 二、配置文件配置地址  三、流控模式介绍 直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式 关联:统计与当前资源相关的另一个资源触发阈值时,对当前资源限流         使用场景:比如用户支付时需要修改订单状态,同时

    2023年04月16日
    浏览(29)
  • 【Springcloud】Sentinel熔断和降级

    服务的稳定是公司可持续发展的重要基石,随着业务量的快速发展,一些平时正常运行的服务,会出现各种突发状况,而且在分布式系统中,每个服务本身又存在很多不可控的因素,比如线程池处理缓慢,导致请求超时,资源不足,导致请求被拒绝,又甚至直接服务不可用、

    2024年02月09日
    浏览(46)
  • SpringCloud Alibaba-Sentinel

    Sentinel 主页 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从 限流、流量整形、熔断降级、系统负载保护、热点防护 等多个维度来帮助开发者保障微服务的稳定性。 Sentinel核心组件 核心库

    2024年02月10日
    浏览(35)
  • springcloud alibaba sentinel熔断降级

    随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从 流量控制、熔断降级、系统负载保护 等多个维度保护服务的稳定性。 sentinel相当于hystrix的升级版,加入了web界面,能够实时在线的改变流量策略。 Sentinel 分为两个部分: 核心库(J

    2024年01月23日
    浏览(53)
  • C++入门(中篇)

    🔥🔥本章重内容 函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表 (参数个数 或 类型 或 类型顺序) 不同,常用来处理实现功能类似数据类型不同的问题。 那函数重载是上面样呢? 列如: 上面这段代码在C语

    2023年04月25日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包