Sentinel:流控规则

上一篇文章,我们一起探讨了Sentinel流量控制的简单用法,本小节,我们一起探讨Sentinel的三种流控规则。

 

说到系统接口的限流,我们一般会想到用几种限流的算法,比如漏桶算法、令牌桶算法,在单机内,我们可以采用Guava中提供的API帮我们实现限流功能。而在分布式环境中,我们可以用Redis、MQ等中间件来实现限流的功能。

 

然而,Sentinel为我们提供了更加灵活的限流规则和策略,同时也支持单机和集群模式,方便我们根据不同的应用场景,选择不同的流控、限流的规则。

 

 常用的有如下三种:

  • 直接拒绝

  • 冷启动+预热

  • 匀速+排队

     

我们可以根据实际需求,来配置相应的流控规则。流控的重要属性如下:

字段 说明 默认值
resource 资源名,是限流规则的作用对象  
count 限流阈值  
grade 限流阈值类型,QPS 模式(1)或并发线程数模式(0) QPS
limitApp 流控针对的调用来源 default,表示不区分调用来源
stragety 调用关系限流策略:直接、链路、关联 直连

controlBehavior

(本文重点讲解这个属性)

流控效果(直接拒绝/WarmUp/匀速+排队等待),不支持按调用关系限流 直接拒绝
clusterMode 是否是集群模式

ps:详细的工程创建,请参考笔者的这篇文章 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值