概述
借助 guava 的 RateLimiter 以及 Aop 实现对 api 的限流控制。
实现步骤如下
- 定义注解
- 在接口上使用注解
- 通过 aspect 解析注解并实现接口限流控制
maven 依赖
1 | <dependency> |
定义接口注解
1 | import java.lang.annotation.ElementType; |
通过 aop 读取注解配置并执行限流控制
- 通过 rateLimiterCache 来缓存 接口路径 和 对应的限流器 RateLimiter,避免重复创建
1 |
|
在接口上使用
1 | "工单分类控制层") ( |