SpringCloudAlibaba5.2sentinel配置流控

概述

简介

监控应用流量的QPS或并发线程数,当达到指定的阈值时对流量进行控制

规则

1.资源名:请求路径

2.针对来源:配置该规则微服务,一般填写调用方的微服务名称,多个用","分割

3.阈值类型:二选一,QPS【每秒的最大请求数2】和线程数【并发线程数】 单机阈值:单机状态下的最大限制值

4.是否集群:根据实际情况选择

5.流控模式:

(1)直接:直接作用于当前资源,如果访问压力大于某个阈值,后续请求将被直接拦下来

(2)关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流

(3)链路:当指定链路上的访问量⼤于某个阈值时,对当前资源进⾏限流,这⾥的“指定链路”是细化到API级别的限流维度

6.流控效果:

(1)快速失败:默认的流量控制方式,当QPS超过任意规则的阈值后,新的请求就会被立即拒绝,拒绝方式为抛出FlowException。

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

(3)排队等待:匀速排队方式会严格控制请求通过的间隔时间,也即是让请求以均匀的速度通过,对应的是漏桶算法 。这种方式主要用于处理间隔性突发的流量。

直接模式

简介

当QPS超过某个阈值的时候,则采取措施进行流量控制

注意

若使用除了直接拒绝之外的流量控制效果,则调用关系限流策略(strategy)会被忽略

配置

 

效果

1秒钟内查询1次就ok,若超过1次,就直接快速失败,报默认错误

测试

http://localhost:8008/index

关联模式

简介

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

配置

 

效果

/testA达到阈值时,则/testB也会被限

测试

测试接口1:http://localhost:8008/testB

测试接口2:http://localhost:8008/testA

测试思路:先访问1,不会被限流,多次访问2,再访问1会被限流

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月木@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值