0


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

1 简介

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

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

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

标签: spring boot 后端 java

本文转载自: https://blog.csdn.net/u013938578/article/details/136839926
版权归原作者 不死鸟.亚历山大.狼崽子 所有, 如有侵权,请联系我们删除。

“Spring Boot(七十一):整合RateLimiter实现接口限流”的评论:

还没有评论