[发明专利]一种API网关的流量控制方法、装置、设备及介质在审
申请号: | 202210768112.6 | 申请日: | 2022-06-30 |
公开(公告)号: | CN115174502A | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 张轩豪;张志伟;濮嘉文;陈志先;汪海波;苏智 | 申请(专利权)人: | 广东亿迅科技有限公司 |
主分类号: | H04L49/90 | 分类号: | H04L49/90 |
代理公司: | 广州海心联合专利代理事务所(普通合伙) 44295 | 代理人: | 莫秀波 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 api 网关 流量 控制 方法 装置 设备 介质 | ||
本发明公开了一种API网关的流量控制方法,涉及网关技术领域,解决API调用流量过大时影响API网关稳定性的技术问题,方法包括:设置两级缓存;在API的调用信息中设置流量控制次数及服务端的信息;下发数据至第一级缓存中;在API调用时先在第二级缓存中获取调用信息的键值,如果获取不到本次调用的API信息,则会在第一级缓存中获取调用信息的键值,并缓存一份数据至第二级缓存中。本发明还公开了一种API网关的流量控制装置、设备及介质。本发明通过多级缓存+消息队列的实现方式,进行调用数据缓存和流量控制,降低服务器存储数据的成本,提升API网关稳定性,支持更高并发的访问。
技术领域
本发明涉及网关技术领域,更具体地说,它涉及一种API网关的流量控制方法、装置、设备及介质。
背景技术
目前大多数API网关项目面对大数据流量时都会采用一定的策略来保障应用的稳定运行,如采用redis这种的内存缓存,可以将数据读取出来放到内存里,这样当需要获取数据时,就能够直接从内存中拿到数据返回,能够很大程度的提高速度。
但是一般redis是单独部署成集群,所以会有网络IO上的消耗,虽然与redis集群的链接已经有连接池这种工具,但是数据传输上也还是会有一定消耗,但此类存储技术均为集中式缓存技术,在大流量访问的情况下,需要高频网络访问,随之带来了带宽瓶颈和网络延迟,影响API网关稳定性。
发明内容
本发明要解决的技术问题是针对现有技术的上述不足,本发明的目的是提供一种API网关的流量控制方法、装置、设备及介质,可以解决带宽瓶颈和网络延迟,以及影响API网关稳定性的问题。
本发明提供一种API网关的流量控制方法,包括:
设置两级缓存;
在API的调用信息中设置流量控制次数及服务端的信息;
下发数据至第一级缓存中;
在API调用时先在第二级缓存中获取调用信息的键值,如果获取不到本次调用的API信息,则会在第一级缓存中获取调用信息的键值,并缓存一份数据至第二级缓存中。
作为进一步地改进,所述第一级缓为redis缓存,所述第二级缓存为caffeine缓存。
进一步地,基于时间策略从caffeine缓存中驱逐键值。
进一步地,所述服务端的信息包括服务端Ip、服务端Port、服务端TargetBasePath、服务端Resource。
进一步地,API网关通过消息队列向API数据监控中心上报调用日志信息,API数据监控中心对调用数据的成功率及调用的次数进行监控,如果出现调用的次数超过了当前API所约定的次数,则通过消息队列下发当前API调用的次数超过限制。
进一步地,API网关作为消费者消费当前API调用的次数超过限制的消息,修改第二级缓存中的流控策略,开启流量控制,限制此API的访问。
进一步地,消息队列为kafka消息队列。
本发明提供一种API网关的流量控制装置,包括:
设置模块,用于在API的调用信息中设置流量控制次数及服务端的信息;
下发数据模块,用于下发数据至第一级缓存中;
第一级缓、第二级缓,用于在API调用时先在第二级缓存中获取调用信息的键值,如果获取不到本次调用的API信息,则会在第一级缓存中获取调用信息的键值,并缓存一份数据至第二级缓存中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东亿迅科技有限公司,未经广东亿迅科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210768112.6/2.html,转载请声明来源钻瓜专利网。