美文网首页
Sentinel流控规则-流控模式

Sentinel流控规则-流控模式

作者: CodeYang | 来源:发表于2021-09-06 09:40 被阅读0次

Sentinel 流控界面

官方流量控制地址

流控规则.png
  • 流控模式:

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

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

  • 线程数:当调用该 api 的线程数达到阈值的时候,进行限流

流控模式---直接(默认)---阈值类型[QPS]

阈值类型 QPS,访问被挡在外面

其他请求被挡在外面.png
  1. 新增流控规则

表示1秒钟内访问1次就OK,若超过1次,就直接-快速失败,报默认错误

新增流控(QPS).png
  1. 测试,访问:http://localhost:8401/testA

如果快速点击访问,就会直接报错,因为1秒内超过了1次。

测试正常结果.png 测试流量结果.png
  1. 随时修改流控规则,随时生效。

流控模式---直接(默认)---阈值类型[线程数]

若当前线程没有处理完当前请求,再次来一个请求就会直接报错

其他请求放进来,但是处理线程有限
  1. 新增流控规则


    新增流控(并发线程数)
  2. 控制层处理程序睡眠一秒,
 @GetMapping(value = "/testA")
    public String testA(){
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return "testA";
    }
  1. 测试,访问

若当前线程没有处理完当前请求,再次来一个请求就会直接报错

image.png image.png

流控模式---关联--阈值类型[QPS]

当关联的资源 /testB达到阈值后,就限流 /testA
简单来说就是:B惹事,A挂了

比如就是说:支付接口达到阈值时,就限流下订单的接口

  1. 新建流控规则


    阈值类型阈值类型[QPS]
  2. 测试,持续访问 /testB 使之达到QPS阈值,同时去访问 /testA 发现被限流


    测试结果

流控模式---关联--阈值类型[线程数]

  1. 新建流控规则


    阈值类型[并发线程数]
  2. 使用同理方法:让处理程序睡眠一秒

@RestController
public class FlowLimitController {

    @GetMapping(value = "/testA")
    public String testA(){
        return "testA";
    }

    @GetMapping(value = "/testB")
    public String testB(){
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return "testB";
    }
}
  1. 测试,持续访问 /testB 使之达到QPS阈值,同时去访问 /testA 发现被限流


    测试结果

流控模式---链路--阈值类型[QPS]

  1. 新建流控规则


    阈值类型阈值类型[QPS]

流控模式---链路--阈值类型[并发线程数]

  1. 新建流控规则


    阈值类型阈值类型[并发线程数]

相关文章

  • Sentinel流控规则-流控模式

    Sentinel 流控界面 官方流量控制地址[https://github.com/alibaba/Sentine...

  • SpringCloud Alibaba Sentinel

    流控规则 服务降级 Sentinel系统规则

  • Sentinel流控规则-流控模式[关联]

    流控模式:直接:api达到限流条件时,直接限流关联:当关联的资源达到阈值时,就限流自己链路:只记录指定链路上的流量...

  • Sentinel流控规则-流控效果

    一、流控效果---快速失败[默认的流控处理] 直接拒绝(RuleConstant.CONTROL_BEHAVIOR...

  • 18.流控规则-流控模式

    流控模式 Sentinel共有三种流控模式,分别是:直接(默认):接口达到限流条件时,开启限流关联:当关联的资源达...

  • Sentinel笔记

    1.常见的处理服务雪崩的方式 超时时间 限流 仓壁模式 断路器模式 2.Sentinel流控方式 流控模式: 直接...

  • sentinel概念

    sentinel功能点 流控qps线程数 降级RT:平均响应时间异常比例:异常数: 热点QPS 模式 授权流控应用...

  • Sentinel流控规则简介

    资源名:唯一名称.默认请求路径 针对来源: sentinel可以针对调用者进行限流,填写微服务名,默认defaul...

  • Spring Cloud Alibaba之服务容错组件 - Se

    [TOC] 规则持久化 - 拉模式 在Sentinel控制台对某个微服务的接口资源配置了流控、降级等规则后,若重启...

  • sentinel 流控

    sentinel 入口看这个合适: 转载:这个注解一次搞定限流与熔断降级:@SentinelResource - ...

网友评论

      本文标题:Sentinel流控规则-流控模式

      本文链接:https://www.haomeiwen.com/subject/kbnsiltx.html