Sentinel流量规则模块(新增)

        系统并发能力有限,比如系统A的QPS支持1个请求,如果太多请求过来,那么系统A就应该进行流量控制了,比如其他请求直接拒绝

        新增流控规则介绍:新增流控规则窗口

Sentinel流量规则模块(新增)_第1张图片
        1.资源名:默认请求路径。
        2.针对来源:Sentinel可以针对调用者进行限流,默认default(不区分来源),可以填写微服务名称。
        3.阈值类型:
                QPS:表示每秒钟请求数量,当调用该资源的QPS达到阈值时进行限流。
                线程数:当调用该资源的线程数达到阈值的时候进行限流(线程处理请求的时候,如果说业务逻辑执行时间很长,流量洪峰来临时,会耗费很多线程资源,这些线程资源会堆积,最终可能造成服务不可用,进一步上游服务不可用,最终可能服务雪崩)。
        4.单机阈值:设置一个阈值(数字),配合阈值类型来使用。
        5.是否集群:是否对集群进行限流。
        6.流控模式:
                直接:资源调用达到限流条件时,直接限流。
                关联:关联的资源调用达到阈值时候限流自己。比如用户注册接口,需要调用身份证校验接口(往往身份证校验接口),如果身份证校验接口请求达到阈值,使用关联,可以对用户注册接口进行限流。
    链路:只记录指定链路上的流量。
        6.流控效果:
            快速失败:直接失败,抛出异常。
            Warm Up:根据冷加载因子(默认3)的值,从阈值/冷加载因子,经过预热时长,才达到设置的QPS阈值。
            排队等待:匀速排队,让请求匀速通过,阈值类型必须设置为QPS,否则无效。

流控模式应用:

        1.QPS

Sentinel流量规则模块(新增)_第2张图片

        选择QPS后阈值自定义,流控选择直接和快速失效,完成后点击新增

Sentinel流量规则模块(新增)_第3张图片

        在浏览器快速访问刚刚限流的接口,就可以看到限流生效了,不需要重启服务器,对代码是没有侵入的 

Sentinel流量规则模块(新增)_第4张图片

        2.线程Sentinel流量规则模块(新增)_第5张图片

         将阈值类型改为线程,然后保存Sentinel流量规则模块(新增)_第6张图片

         使用API自动动测试软件进行测试,新建一个访问该接口的接口,新建完后记得保存Sentinel流量规则模块(新增)_第7张图片

Sentinel流量规则模块(新增)_第8张图片

Sentinel流量规则模块(新增)_第9张图片

Sentinel流量规则模块(新增)_第10张图片

         等待执行完后在浏览器访问就可以看到限流的效果

Sentinel流量规则模块(新增)_第11张图片

        3.关联

        给被关联的接口设置睡眠

Sentinel流量规则模块(新增)_第12张图片
     

        给接口设置关联Sentinel流量规则模块(新增)_第13张图片

        对被关联的接口设置限流

Sentinel流量规则模块(新增)_第14张图片

        先访问被关联的接口(如果觉得1s时间不够可以设长一点,要快速点击),等被关联的接口限流后,然后再访问关联的接口,会发现这个接口也会被限流

Sentinel流量规则模块(新增)_第15张图片

Sentinel流量规则模块(新增)_第16张图片

          4.链路限流Sentinel流量规则模块(新增)_第17张图片        设置链路之后我们的阈值为1并不会进行限流Sentinel流量规则模块(新增)_第18张图片

         5.Warm up(预热模式),默认值为QPS的三分之一

 Sentinel流量规则模块(新增)_第19张图片

         快速访问该接口就会被限流Sentinel流量规则模块(新增)_第20张图片

        6.排队等待,在访问查询接口的时候打印当前系统时间

  System.out.println( new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));

Sentinel流量规则模块(新增)_第21张图片           设置排队等待的时间,超时时间不能超过1000Sentinel流量规则模块(新增)_第22张图片

         快速访问改接口,当我们停止后,控制台会缓慢打印系统时间Sentinel流量规则模块(新增)_第23张图片

你可能感兴趣的:(Spring,Cloud,sentinel,spring,cloud)