本发明涉及网络访问领域,尤其涉及一种用户流量限制方法、装置、设备及存储介质。
背景技术:
1、在高并发调用的情况下,接口服务会将请求转嫁给后端的数据库服务器,这可能导致数据库服务器的cpu负载过高,进而导致数据库服务响应变慢甚至崩溃、进程阻塞等问题。为了防止接口服务被恶意访问,需要对用户访问流量进行限制,即限制用户访问请求的并发数。这样可以有效地防止系统遭受恶意攻击,同时确保系统的稳定性和可靠性。
技术实现思路
1、鉴于上述问题,本发明提供了一种用户流量限制方法、装置、设备及存储介质。
2、根据本发明的第一个方面,提供了一种用户流量限制方法,包括:
3、在自定义脚本中定义一个服务健康状态监控阀值;
4、利用所述服务健康状态监控阀值,确定所述服务的健康状态;
5、根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略实现对所述服务的控制。
6、在本发明一实施例中,所述利用所述服务健康状态监控阀值,确定待处理服务的健康状态,包括:
7、在所述服务健康状态监控阀值在第一范围内的情况下,所述服务的健康状态为正常使用状态;
8、在所述服务健康状态监控阀值在第二范围内的情况下,所述服务的健康状态为可使用状态;
9、在所述服务健康状态监控阀值在第三范围内的情况下,所述服务的健康状态为无法正常使用状态。
10、在本发明一实施例中,在所述服务健康状态监控阀值在第一范围内的情况下,所述根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略包括:
11、在所述服务第一次被一ip地址访问并存入redis的情况下,将key值设置为所述ip地址,value值设置为1,并设置所述key值的过期时间;
12、在所述服务第n次被所述ip地址访问并存入redis的情况下,如果所述key值没有达到所述过期时间,则将所述value值设置为n,n为大于1的正整数;
13、在所述服务第n+1次被所述ip地址访问并存入redis的情况下,禁止所述ip的新连接访问服务。
14、在本发明一实施例中,所述方法还包括:
15、在所述key值达到所述过期时间的情况下,则将所述key值设置为无效状态;
16、在所述服务再次被所述ip地址访问并存入redis的情况下,执行所述在所述服务第一次被一ip地址访问并存入redis的情况下,将key值设置为所述ip地址,value值设置为1,并设置所述key值的过期时间的操作。
17、在本发明一实施例中,在所述服务健康状态监控阀值在第二范围内的情况下,所述根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略包括:
18、调用异常流量限流代理agent更新redis的value值为n-1;
19、在所述ip地址再次存入redis且所述key值没有达到所述过期时间的情况下,通过实施异常流量限流agent禁止所述ip气质的新连接访问服务。
20、在本发明一实施例中,在所述服务健康状态监控阀值在第三范围内的情况下,所述根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略包括:
21、注销所述服务,并禁止所有ip地址建立新连接访问服务,已建立连接的ip地址可以继续访问所述服务。
22、在本发明一实施例中,所述方法还包括:
23、在所述服务健康状态监控阀值在第一范围内的情况下,更新redis的健康标志值为第一值;
24、在所述服务健康状态监控阀值在第二范围内的情况下,更新redis的健康标志值为第二值;
25、在所述服务健康状态监控阀值在第三范围内的情况下,更新redis的健康标志值为第三值;
26、在所述服务健康状态监控阀值由非所述第一范围变为所述第一范围的情况下,调用异常流量限流agent更新redis的value值为1,并重新注册服务。
27、本发明的第二方面提供了一种用户流量限制装置,包括:
28、定义模块,用于在自定义脚本中定义一个服务健康状态监控阀值;
29、确定模块,用于利用所述服务健康状态监控阀值,确定所述服务的健康状态;
30、分发模块,用于根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略实现对所述服务的控制。
31、本发明的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
32、本发明的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
33、根据本发明提供的用户流量限制方法、装置、设备和介质,异常流量限流agent读取redis的限流配置,根据限流配置方案的不同,对用户流量做出不同的限制,让ip而是一段时间内访问服务的次数受限,可以有效防止接口服务被人恶意访问,保证服务的稳定性和安全性。
1.一种用户流量限制方法,其特征在于,包括:
2.根据权利要求1所述的用户流量限制方法,其特征在于,所述利用所述服务健康状态监控阀值,确定待处理服务的健康状态,包括:
3.根据权利要求2所述的用户流量限制方法,其特征在于,在所述服务健康状态监控阀值在第一范围内的情况下,所述根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略包括:
4.根据权利要求3所述的用户流量限制方法,其特征在于,所述方法还包括:
5.根据权利要求2所述的用户流量限制方法,其特征在于,在所述服务健康状态监控阀值在第二范围内的情况下,所述根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略包括:
6.根据权利要求2所述的用户流量限制方法,其特征在于,在所述服务健康状态监控阀值在第三范围内的情况下,所述根据所述服务的健康状态,分发给远程字典服务redis不同的限流策略包括:
7.根据权利要求2所述的用户流量限制方法,其特征在于,所述方法还包括:
8.一种用户流量限制装置,其特征在于,包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。