[发明专利]基于Zuul的流量限制方法、装置、设备及存储介质有效
申请号: | 201910670514.0 | 申请日: | 2019-07-23 |
公开(公告)号: | CN110380986B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 帖军;童壮;覃俊;李子茂;毛腾跃;吴经龙;鲁建明 | 申请(专利权)人: | 中南民族大学 |
主分类号: | H04L47/215 | 分类号: | H04L47/215;H04L47/27;H04L47/32 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 430074 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 zuul 流量 限制 方法 装置 设备 存储 介质 | ||
本发明公开了一种基于Zuul的流量限制方法、装置、设备及存储介质,所述方法包括:通过Zuul网关获取客户端发送的请求信息;对所述请求信息进行解析,并从解析结果中提取所述请求信息中的当前地址信息;在缓存器中查找与所述当前地址信息对应的目标令牌桶;提取所述目标令牌桶中的目标流量限制信息;判断所述请求信息是否满足所述目标流量限制信息;在所述请求信息满足所述目标流量限制信息时,将所述请求信息进行丢弃处理,以实现对流量的限制,从而通过Zuul网关结合令牌桶的方式,并在令牌桶中存储流量限制信息,从而针对不同的访问请求实现更精细化的流量限制。
技术领域
本发明涉及微服务系统技术领域,尤其涉及一种基于Zuul的流量限制方法、装置、设备及存储介质。
背景技术
路由网关是微服务系统的数据边界,高并发情况下大量数据通过网关进入系统,导致系统负载压力过大,需要高效的流量限制服务来解决。现有的Nginx等网关软件提供了较为精细的应用程序编程接口(Application Programming Interface,API)限流服务,但应用于微服务系统时限流策略单一、个性化策略配置困难;且在非高并发情况下限流服务的额外开销会显著增加负载压力。
发明内容
本发明的主要目的在于提出一种基于Zuul的流量限制方法、装置、设备及存储介质,旨在提高微服务系统中流量限制的灵活性。
为实现上述目的,本发明提供一种基于Zuul的流量限制方法,所述基于Zuul的流量限制方法包括以下步骤:
通过Zuul网关获取客户端发送的请求信息;
对所述请求信息进行解析,并从解析结果中提取所述请求信息中的当前地址信息;
在缓存器中查找与所述当前地址信息对应的目标令牌桶;
提取所述目标令牌桶中的目标流量限制信息;
判断所述请求信息是否满足所述目标流量限制信息;
在所述请求信息满足所述目标流量限制信息时,将所述请求信息进行丢弃处理,以实现对流量的限制。
优选地,所述在缓存器中查找与所述当前地址信息对应的目标令牌桶之前,所述方法还包括:
获取历史地址信息以及对应的历史流量限制信息;
根据所述历史地址信息以及历史流量限制信息建立历史令牌桶,并将所述历史令牌桶存储在缓存器中。
优选地,所述历史流量限制信息包括历史令牌容量信息和历史缓存到期的窗口时间信息;
所述根据所述历史地址信息以及历史流量限制信息建立历史令牌桶,并将所述历史令牌桶存储在缓存器中,包括:
获取所述请求信息中的接入标识信息、历史令牌容量信息以及历史缓存到期的窗口时间信息;
根据所述历史地址信息、接入标识信息、历史令牌容量信息以及历史缓存到期的窗口时间信息采用以下公式建立历史令牌桶以及对应的标识字符串,并将所述历史令牌桶以及对应的标识字符串存储在缓存器中;
Key=Compress(ServiceID+Token+Z+X+Y);
其中,key表示历史令牌桶的标识字符串,Compress表示字符串压缩算法,ServiceID表示接入标识信息,Token表示自定义的客户端标识符,X表示历史缓存到期的窗口时间信息,Y表示历史令牌桶容量信息,Z表示历史地址信息。
优选地,所述目标流量限制信息包括限制时间信息范围;
所述判断所述请求信息是否满足所述目标流量限制信息,包括:
在所述目标令牌桶中获取所述请求信息的起点时间信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南民族大学,未经中南民族大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910670514.0/2.html,转载请声明来源钻瓜专利网。