springcloudAlibaba-Sentinel

流控规则

springcloudAlibaba-Sentinel_第1张图片

springcloudAlibaba-Sentinel_第2张图片

流控模式

直接

springcloudAlibaba-Sentinel_第3张图片
springcloudAlibaba-Sentinel_第4张图片

关联

springcloudAlibaba-Sentinel_第5张图片

链路

流控效果

1.直接->快速失败(默认的流控处理)

2. 预热(Warm Up)

公式:阈值除以coldFactor(默认值为3),经过预热时长后才会达到阈值
springcloudAlibaba-Sentinel_第6张图片

3.排队等待

springcloudAlibaba-Sentinel_第7张图片

降级规则

  • RT(平均响应时间,秒级)
    平均响应时间 (DEGRADE_GRADE_RT):超过阈值 且 时间窗口内的请求>=5,两个条件同时满足后触发降级,窗口期过后关闭断路器
    RT 最大4900 ms,更大的需要通过启动配置项 -Dcsp.sentinel.statistic.max.rt=xxx 来配置。
  • 异常比例(秒级)
    QPS>=5且异常比例(秒级统计)超过阈值时,触发降级;时间窗口结束后,关闭降级
  • 异常数(分钟级)
    异常数(分钟统计)超过阈值时,触发降级;时间窗口结束后,关闭降级

RT

springcloudAlibaba-Sentinel_第8张图片

springcloudAlibaba-Sentinel_第9张图片
springcloudAlibaba-Sentinel_第10张图片

异常比例数

在这里插入图片描述

springcloudAlibaba-Sentinel_第11张图片
springcloudAlibaba-Sentinel_第12张图片

异常数

在这里插入图片描述
-------------------------------------------时间窗口一定要大于等于60秒。--------------------------------------------
因为对于异常数的统计来说是按分钟进行统计的,当时间窗口期设置为30s时,假设在第一秒的时候就达到触发熔断的条件了,30s后断路器关闭,因为异常数统计是按分钟算的,此时一分钟还没有过去,此时又会打开断路器,因此建议时间窗口期设置大于60s
springcloudAlibaba-Sentinel_第13张图片
springcloudAlibaba-Sentinel_第14张图片

热点key限流

springcloudAlibaba-Sentinel_第15张图片
springcloudAlibaba-Sentinel_第16张图片
测试:

  • error (1秒1下可以,但是,超过则降级,和p1参数有关)
    http://localhost:8401/testHotKey?p1=abc
  • error(1秒1下可以,但是,超过则降级,和p1参数有关)
    http://localhost:8401/testHotKey?p1=abc&p2=33
  • right(狂点不会触发降级,与p2参数无关)
    http://localhost:8401/testHotKey?p2=abc

参数例外项

springcloudAlibaba-Sentinel_第17张图片

测试
http://localhost:8401/testHotKey?p1=5 对
http://localhost:8401/testHotKey?p1=3 错

  • 当p1等于5的时候,阈值变为200
  • 当p1不等于5的时候,阈值就是平常的1
    前提条件
  • 热点参数的注意点,参数必须是基本类型或者String

你可能感兴趣的:(sentinel,springcloud)