为什么接口限流
- 黑客疯狂请求系统接口的某一个接口 而且每次都需要数据库io操作 。如果并发量很大。导致的结果就是 宕机。
解决方案很多 今天我们就先来基于Redis + Lua脚本语言 + 注解:构建高效的请求接口限流方案
限流效果 ~~~~连续点击 源码地址在最下面
lua安装、环境变量配置、ldea插件选择
帮助文档1
帮助文档2
编写lua限流脚本
在 ClassPathResource 的lua下
RedisLimitConfig
注解CurrentLimiter
aop解析注解CurrentLimiter
使用controller
@GetMapping("redis-lua-limiter-annotation")
@ApiOperation("接口限流-注解-aop")
@CurrentLimiter(limit = 3) // 每秒最多请求三次
public ResponseVO<String> redisLuaLimitAnnotation() {
String name = redisServiceUtil.get("name");
return ResponseVO.success(name) ;
}