限流算法之RateLimiter的使用

RateLimiter的底层是基于令牌桶算法来实现的,来自谷歌的Guava包中,所以我们要先引入依赖:

 <dependency>
   <groupId>com.google.guava</groupId>
   <artifactId>guava</artifactId>
   <version>28.0-jre</version>
 </dependency>

RateLimiter常用于接口的单机限流,所以我们直接在controller层引入进来就可以了,下图中就实现了一秒钟限流300个线程,超过300个线程之后就抛出业务异常给前端。

 

使用起来还是挺简单方便的。 

©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页