美文网首页
Sentinel流控规则-流控效果

Sentinel流控规则-流控效果

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

    一、流控效果---快速失败[默认的流控处理]

    直接拒绝(RuleConstant.CONTROL_BEHAVIOR_DEFAULT)方式是默认的流量控制方式,当QPS超过任意规则的阈值后,新的请求就会被立即拒绝,拒绝方式为抛出FlowException。这种方式适用于对系统处理能力确切已知的情况下,比如通过压测确定了系统的准确水位时。

    源码:com.alibaba.csp.sentinel.slots.block.flow.controller.DefaultController

    测试---流控效果---快速失败--阈值类型[QPS]

    快速失败:直接失败,抛异常


    image.png

    =========================================================================================

    二、流控效果---Warm Up(预热)

    Warm Up(RuleConstant.CONTROL_BEHAVIOR_WARM_UP)方式,即预热/冷启动方式。当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。

    Warm Up

    测试---流控效果---预热---阈值类型[QPS]

    Warm Up:根据codeFactor(冷加载因子,默认3)的值,从阈值/codeFactor,经过预热时长,才达到设置的QPS阈值。

    1. 新建流控规则,流控效果设置为预热

    在5秒内最大阈值是3(10/codeFactor),超过5秒,最大阈值为10

    流控效果---预热
    1. 测试效果
      在5秒内狂点 http://localhost:8401/testA,发现超过3次就报错
      超过3次就报错

    超过5秒狂点 http://localhost:8401/testA,发现超过3次就不报错,超过10次才报错

    image.png

    =========================================================================================

    三、流控效果---排队等待

    匀速排队(RuleConstant.CONTROL_BEHAVIOR_RATE_LIMITER)方式会严格控制请求通过的间隔时间,也即是让请求以均匀的速度通过,对应的是漏桶算法。

    排队等待

    测试---流控效果---排队等待--阈值类型[QPS]

    排队等待:匀速排队,让请求以匀速的速度通过,阈值类型必须设置为 QPS ,否则无效。

    1. 新建流控规则,流控效果设置为排队等待
    流控效果---排队等待

    相关文章

      网友评论

          本文标题:Sentinel流控规则-流控效果

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