【技术实现步骤摘要】
一种基于Redis计数器的后台并发控制方法
本专利技术涉及互联网
,更具体的说,本专利技术涉及一种基于Redis计数器的后台并发控制方法。
技术介绍
当项目用户量增加,业务量增大,项目不可避免会开始考虑用户并发的控制,通过控制并发波峰,来维持后台服务的稳定。同时,当服务器遭受攻击时,通过并发控制,也可以有效拦截攻击用户。目前比较流行的并发控制方法主要是使用队列,或者同步锁,或者使用固定框架比如Sentinel等来实现。使用队列、同步锁则是比较旧的处理方式,对性能有一定影响,用户体验也不太友好;使用框架固然比较方便,但比较重量级,有些个性化需求还是需要开发去做拓展。
技术实现思路
为了克服现有技术的不足,本专利技术提供一种基于Redis计数器的后台并发控制方法,通过该方法可以有针对性的对接口进行配置,有效地针对用户IP地址进行流量限制操作。本专利技术解决其技术问题所采用的技术方案是:一种基于Redis计数器的后台并发控制方法,其改进之处在于,该方法包括以下的步骤:S1、拦截器的 ...
【技术保护点】
1.一种基于Redis计数器的后台并发控制方法,其特征在于,该方法包括以下的步骤:/nS1、拦截器的设置,在MVC服务中添加AOP切面,在用户接口进入业务之前进行拦截;/nS2、并发控制,包括根据当前调用接口uri进行并发控制,或者根据当前调用方IP以及接口uri进行并发控制;/nS3、接口的访问,经过上述的拦截,表明接口当前允许调用,在Redis计数器中对uri计数+1,或者在Redis计数器中对uri和IP组成的字符串计数+1;在计数时,设置Redis计数器的过期时间为N秒。/n
【技术特征摘要】
1.一种基于Redis计数器的后台并发控制方法,其特征在于,该方法包括以下的步骤:
S1、拦截器的设置,在MVC服务中添加AOP切面,在用户接口进入业务之前进行拦截;
S2、并发控制,包括根据当前调用接口uri进行并发控制,或者根据当前调用方IP以及接口uri进行并发控制;
S3、接口的访问,经过上述的拦截,表明接口当前允许调用,在Redis计数器中对uri计数+1,或者在Redis计数器中对uri和IP组成的字符串计数+1;在计数时,设置Redis计数器的过期时间为N秒。
2.根据权利要求1所述的一种基于Redis计数器的后台并发控制方法,其特征在于:所述的步骤S1中,添加一个handlerInterceptor控制器。
3.根据权利要求2所述的一种基于Redis计数器的后台并发控制方法,其特征在于:所述的步骤S11中,对switchs的参数进行配置,配置的参数为true或false,以设置并发限流功能是否启用。
4.根据权利要求1所述的一种基于Redis计数器的后台并发控制方法,其特征在于:所述的步骤S2中,如根据当前调用接口uri进行并发控制,则包括以下的步骤:
S21、获取访问者uri,通过uri获取配置中该接口允许的最高并发量;如果该uri未配置最高并发量,则取全局最高并发量;
S22、利用uri作为字符串,检查Redis计数器中该字符串的个数,如果该字符串的个数超过设置的最高并发量,则对本次调用进行拦截。
5.根据权利要求4所述的一种基于Redis计数器的后台并发控制方法,其特征在于:所述的最高并发量为预设值。
6.根据权利要求4所述的一种基于Redis计数器的后台并发控制方法,其特征在于:所述的全局最高并发量,为同一个时间节点下,针对多个uri设定...
【专利技术属性】
技术研发人员:刘有根,
申请(专利权)人:银盛支付服务股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。