Redis+LUA实现请求分布式限流
Redis+LUA实现请求分布式限流
网络限流:
解释:在时间段内疯狂发起操作请求,为了保护服务,做的一种保护措施
比如:在2s中,同一个请求访问了有100次,超过请求规定的次数50(阈值),为了保护服务,则50次的后面的请求,则需要做限流操作(上面的参数可随意制定)。
我这里现实限流用了过滤器
先解释下什么是过滤器:
过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理
通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理
逻辑流程图及解释:
LUA脚本:
1:可以处理业务,也就是放行
0:则需要进行限流操作
结语
如果有更好的限流处理方法,还请大佬们评论区点出来。