Spring Boot(七十一):整合RateLimiter实现接口限流

1 简介

RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证。如果必要的话,每个acquire() 会阻塞当前线程直到许可证可用后获取该许可证。一旦获取到许可证,不需要再释放许可证。

RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,比如你希望自己的应用程序QPS不要超过1000,那么RateLimiter设置1000的速率后,就会每秒往桶里扔1000个令牌;且RateLimiter不支持集群环境,集群环境需要借助Redis等第三方工具实现。

方法摘要如下:

修饰符和类型 方法和描述
double acquire()
从RateLimiter获取一个许可,该方法会被阻塞直到获取到请求
double acquire(int permits)
从RateLimiter获取指定许可数,该方法会被阻塞直到获取到请求
static RateLimiter create(double permitsPerSecond)
根据指定的稳定吞吐率创建RateLimiter,这里的吞吐率是

相关推荐

  1. Spring Boot():整合RateLimiter实现接口

    2024-03-23 16:00:03       19 阅读
  2. SpringBoot整合resilience4j实现接口

    2024-03-23 16:00:03       41 阅读
  3. RateLimiter 算法使用

    2024-03-23 16:00:03       8 阅读
  4. SpringBoot + Redis 实现接口,一个注解的事

    2024-03-23 16:00:03       15 阅读
  5. 器 github的ratelimiter

    2024-03-23 16:00:03       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-23 16:00:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-23 16:00:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-23 16:00:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-23 16:00:03       20 阅读

热门阅读

  1. 从展望未来的方向思考,AI程序员对现状的影响

    2024-03-23 16:00:03       19 阅读
  2. PVE 缩小LXC中 RAW 格式磁盘

    2024-03-23 16:00:03       17 阅读
  3. 学习 zustand

    2024-03-23 16:00:03       18 阅读
  4. 前端面试-手搓代码篇

    2024-03-23 16:00:03       18 阅读
  5. 构造函数(原型和原型链)

    2024-03-23 16:00:03       18 阅读
  6. SpringDataJpa大坑——一对多级联修改问题

    2024-03-23 16:00:03       14 阅读
  7. v-for=“item in arr“ 的理解

    2024-03-23 16:00:03       19 阅读
  8. 24计算机考研调剂 | 西北民族大学

    2024-03-23 16:00:03       20 阅读
  9. 面试算法-79-搜索旋转排序数组

    2024-03-23 16:00:03       17 阅读
  10. Vue 面试题(二)

    2024-03-23 16:00:03       23 阅读
  11. 003-基于Jetson Nano平台的在线二维码检测

    2024-03-23 16:00:03       22 阅读
  12. C语言判断回⽂字符串

    2024-03-23 16:00:03       19 阅读
  13. MySQL知识总结

    2024-03-23 16:00:03       18 阅读
  14. Linux - IO

    2024-03-23 16:00:03       17 阅读