美文网首页
RateLimiter

RateLimiter

作者: onlyHalfSoul | 来源:发表于2022-12-16 11:20 被阅读0次

什么是RateLimiter

Guava库中的一个限流器组件,基于PPS(Permit per second每秒单位限流)

Permit概念

Permit直译是许可证,可以把它理解为一个消耗单位:

  • 如果要对QPS进行限制,那么Permit = Query,一次Query消耗一个Permit就能达到效果
  • 如果对文件网络IO进行限制,那么Permit = Size of Package,每次包大小越大消耗的Permit越多
  • 如果要对请求时长进行限制,那么Permit = Time Cost of Query

如下代码就是实现限制调用某接口 20次/s

double interfaceRateDouble = Double.parseDouble(20.0);
this.interfaceRateLimiter = RateLimiter.create(interfaceRateDouble);
interfaceRateLimiter.acquire();

原理

转载:https://blog.csdn.net/fubicheng208/article/details/106650146/

相关文章

网友评论

      本文标题:RateLimiter

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