Sentinel 嘚吧嘚

阈值类型/单机阈值:

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

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

是否集群:不需要

流控模式:

  • 直接:api达到限流条件时,直接限流

  • 关联:当关联的资源达到阈值时,就限流自己

  • 链路:只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就进行限流)【别的针对来源】

流控效果:

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

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

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

Sentinel 降级

  • RT(平均响应时间,秒级):平均响应时间 超出阈值 且在时间窗口内通过的请求>=5,两个条件同时满足后触发降级,时间窗口过期后关闭断路器,RT最大4900(更大的需要通过-Dscp.sentinel.statistic.max.rt=XXXX才能生效)

  • 异常比例(秒级):QPS >= 5 且异常比例(秒级统计)超过阈值时,触发降级,时间窗口结束后,关闭降级

  • 异常数

    当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(默认行为是抛出DegradeException)
    另外,相对于Hystrix,Sentinel的断路器是没有半开状态的 —————— 半开的状态系统自动去检测是否请求有异常,没有异常就关闭断路器恢复使用,有异常则继续打开断路器不可用。具体可以参考Hystrix

posted @ 2020-08-17 20:55  九角冰山  阅读(151)  评论(0)    收藏  举报