文章目录
- 引言
- I 基于GuavaCache实现频率限制
-
- 1.1 基于LoadingCache实现(灵活控制,高效率)【推荐】
- 1.2 基于LoadingCache自定义RateLimiter (无法灵活控制限制时间范围)
- 1.3 基于google的RateLimiter实现(效率低)
- II 基于Redis实现限流
引言
背景:提供接口给下游(外部厂商)的接口,通过控制IP地址来限制接口的调用频率,可以有效保护系统的稳定性和安全性。

限制接口调用频率实现方案:
- 基于自定义注解+切面 的方式实现
- 使用
Guava Cache/redis/自定义缓存工具类(ConcurrentHashMap)来记录请求频率,并通过设定阈值来限制请求次数。
- 分布式缓存:redis、memcached
- 本地(进程内)缓存:ehcache、GuavaCache(Guava Cache是单个应用运行时的本地缓存,支持高并发且线程安全的)、Caffeine
- 定期清理缓存的方法

I 基于GuavaCache实现频率限制
<dependency>








![[大模型]GLM4-9B-chat Lora 微调](https://img-blog.csdnimg.cn/direct/876278fa346141e8a9a3fc62dd82bfbf.png#pic_center)







![[Vue3:axios]:实现登录跳转页面展示列表(查看教师所承担课程的学生选课情况)](https://img-blog.csdnimg.cn/direct/1669a6191741481795a1c0ff618bc73d.png)


