RateLimiter了解

本文探讨了RateLimiter如何实现令牌桶限流算法,详细解释了每秒最多发送5个请求的机制,包括令牌的生成、存储和消费原则。当请求到来时,系统会根据令牌数量决定是否立即执行或等待。RateLimiter还允许在空闲时积累令牌,并可通过参数调整限流策略。
摘要由CSDN通过智能技术生成

本文参考:https://blog.csdn.net/u014730658/article/details/79374356

本文参考:https://blog.csdn.net/manzhizhen/article/details/52606732

RateLimter实现了令牌桶的限流算法

假设我们希望每秒最多发送5个请求,那么相当于每0.2秒发送一个。
- 当第一个请求发送后,记为开始,即0秒。
- 0.1秒时,来了第二个请求,这时候还没到第0.2秒(可以认为当前令牌数为0),那么我们不需要考虑别的,等到0.2秒就能执行,但是,必须知道,这时候,下次允许执行的请求时间应该是第0.4秒了。
- 假如第二个请求执行完后,到2.0秒还是没有新的请求到来,那么我们可以理解0.4秒到2秒的空闲时间就保存了5个令牌(最多不能超过5个,而且这个计算实际上是在新请求到来的时刻计算出来的)。
- 当2.1秒时,有新请求进来了
如果它需要消耗3个请求,那么它可以立刻执行,然后存储令牌就变成了2个,而且如果此时再有新请求进来,可以立刻执行(smoothbursty),或者等待一个消耗3个存储令牌的积分时间执行(smoothwarmingup)。
如果它需要消耗9个请求,那么它也可以立刻执行,然后存储令牌清空,而且如果此时再

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值