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

目录

1.流控规则

[2. 熔断规则](#2. 熔断规则)

3.热点规则


1.流控规则

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

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

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

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

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

5.流控模式

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

6.流控效果

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

2. 熔断规则

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

3.热点规则

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

  • 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制
  • 用户ID为参数,针对一段时间内频繁访问的用户ID 进行限制
相关推荐
Q_Q5110082851 分钟前
python+uniapp基于微信小程序美食点餐系统
spring boot·python·微信小程序·django·flask·uni-app·node.js
codervibe15 分钟前
中高交互蜜罐升级 🚀
后端
codervibe17 分钟前
多协议蜜罐初体验 🐝
后端
青草地溪水旁19 分钟前
设计模式(C++)详解——迭代器模式(2)
java·c++·设计模式·迭代器模式
SamsongSSS20 分钟前
《C++ Primer Plus》读书笔记 第二章 开始学习C++
c++·后端
9号达人22 分钟前
Java18 新特性详解与实践
java·后端·面试
我不是混子28 分钟前
java浮点数精度问题及解决方案
java·后端
karry_k32 分钟前
混合存储架构
后端
yunxi_0533 分钟前
我用 Elasticsearch 做 RAG 检索的一些“土经验”
后端·llm
JaguarJack37 分钟前
PHP 8.2 vs PHP 8.3 对比:新功能、性能提升和迁移技巧
后端·php