2019-12-15
公司做推广,服务器经常性的down掉,好可怕的事情!!!
然后我发现是太多人同时注册,扛不住,就挂了。
百度百度,发现可以试试限流,有一点用,但有后遗症,有的人会一时半会给卡在哪儿。但时间太着急,后续在弄个nginx分个流,后续会补上这个博文,(弄两个服务器不值当),现在就先弄限流,立刻顶上去再说。
网上一大堆的限流的文章,我就说说我写的思路好了
1:弄个注解:
int seconds();//时间范围(单位:秒)
int maxCount();//在这个时间范围内最大访问次数
2:把这个注解写在需要限流的方法上,
@AccessLimit(seconds = 1,maxCount = 20)//限流:1秒只能请求20次
3:写个拦截器
AcessLimiitInterceptor implements HandlerInterceptor
然后,一步一步把拦截写好,就是有拦截的代码,判断在时间段内访问次数是否足够,足够就拦截,不够就放行,用的redis来记录就好
具体怎么写,可以参考https://blog.csdn.net/qq_35375529/article/details/90295311,已经是完整的了