Sentinel流控规则

suaxi
2021-04-29 / 0 评论 / 41 阅读 / 正在检测是否收录...

2.新增流控规则.png

参数说明:

  • 资源名:唯一名称,默认请求路径
  • 针对来源:Sentinel可以针对调用者进行限流,可以写微服务名,默认为default(不区分来源)
  • 阈值类型/单机阈值

    • QPS:每秒钟的请求数量,当调用该API的QPS达到阈值时,进行限流
    • 线程数:当调用该API的线程数达到阈值时,进行限流
  • 是否集群:否(不打勾即代表否)
  • 流控模式:

    • 直接:API调用达到限流条件时,直接限流
    • 关联:B关联A,B的调用达到阈值时,限流A(避免级联故障)
    • 链路:只记录指定链路上的流量(指定资源从入口资源进来的流量,达到阈值时,进行限流)
  • 流控效果:

    • 快速失败:直接失败,抛异常
    • Warm up:根据codeFactor(冷加载因子,默认为3)的值,从阈值/codeFactor,经过预热时长,才达到设置的QPS阈值


1、流控模式

直接快速失败

1.直接失败.png

测试结果:

2.直接失败测试结果.png


线程数

3.线程数.png

当请求/testA的线程数超过了设置的阈值,就会进行限流

4.线程数测试结果.png


关联

5.关联.png

当/testA的请求达到阈值,就会对/testB的请求进行限流


链路

多个请求调用同一个微服务


2、流控效果

Warm Up

预热/冷启动:当系统长期处于低请求的状态下,这时流量突然增加,瞬间大量的请求可能会把系统压垮。通过Warm Up让请求缓慢增加,在一定时间内增长到设置的阈值上限,给冷系统一个预热准备的时间,避免出现故障

6.Warm Up.png


排队等待

7.排队等待.png

8.排队等待补充.png

图片来源:尚硅谷 - 周阳 - Spring Cloud Alibaba

0

评论 (0)

取消