一种分布式多维度限流系统及方法技术方案

技术编号:35735117 阅读:40 留言:0更新日期:2022-11-26 18:37
本发明专利技术公开了一种分布式多维度限流系统及方法,属于信息技术领域,其中系统包括限流规则配置模块、缓存中间件集群、Redis计数器模块、限流执行模块;方法包括以下步骤:S1、配置限流规则;S2、加载限流规则;S3、限流执行模块启动;S4:限流执行校验结果。本发明专利技术实现了集群化部署条件下网关对业务服务的分布式限流控制,实现流量削峰,有效降低业务服务的负载,保护业务接口的安全性,提升系统可用性,同时定制化针对不同维度配置限流规则,高效精准地提供分布式限流功能,值得被推广使用。值得被推广使用。值得被推广使用。

【技术实现步骤摘要】
一种分布式多维度限流系统及方法


[0001]本专利技术涉及信息
,具体涉及一种分布式多维度限流系统及方法。

技术介绍

[0002]电信运营商行业现已进入大规模建设5G网络的时代,5G时代是云和网相互融合的时代,现有电信运营业务系统烟囱林立、数据分散、能力开放不足导致产品加载慢、支撑效率低、协同能力弱、数据基础差等情况,无法适应新云网融合形势下网络发展的要求。现如今电信运营商业务量大大增加,域内与域外、平台与租户、内部与外部的API调用流量呈指数型增长,当API调用量峰值过大时,服务提供方的应用系统的负载能力有限,如果非预期的请求对系统压力过大而拖垮整个业务应用系统,服务提供方和服务调用方的损失极为惨重,因此对接口安全控制和保护有着更高的要求。
[0003]一般是通过设置缓存、队列、令牌、分流等技术方式来实现限流,如果仅仅通过上述的被动限流方式将交易进行限流,该类方法灵活性较差,不能够进行灵活配置及精准高效地限流,同时以往的API网关限流为单点限流,若API网关采用分布式架构,无法共享统一的限流规则进行全局性的分布式限流,影响业务的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式多维度限流系统,其特征在于,包括:限流规则配置模块、缓存中间件集群、Redis计数器模块、限流执行模块;所述限流规则配置模块,用于供用户配置限流规则;所述缓存中间件集群,用于作为分布式缓存存储限流规则配置;所述Redis计数器模块,用于作为请求次数计数器;所述限流执行模块,基于Spring Cloud Gateway框架,采用多节点集群部署,用于从Redis计数器模块获取服务是否通过限流校验的结果,进行限流执行,从而实现分布式网关限流。2.根据权利要求1所述的一种分布式多维度限流系统,其特征在于:在所述限流规则配置模块中,所述限流规则的类型包括服务级限流、应用级限流、全局级限流;限流配置参数包括限流规则的类型、调用次数阈值、单位时间。3.根据权利要求2所述的一种分布式多维度限流系统,其特征在于:所述限流规则配置模块向缓存中间件集群中发送限流规则配置消息,限流执行模块从缓存中间件获取限流规则配置消息,实现与所述限流规则配置模块、限流执行模块的信息交互。4.根据权利要求3所述的种分布式多维度限流系统及方法,其特征在于:所述Redis计数器模块存储滑动时间窗口内的请求次数;存储的数据结构为键值对,键为服务编码标识,同一个服务共用一条数据,值的数据类型为ZSET,依次存放网关获取请求时的时间戳,ZSET的长度即为请求次数。5.根据权利要求4所述的一种分布式多维度限流系统,其特征在于:所述限流执行模块基于Spring Cloud Gateway框架,集成spring

boot

starter

data

redis

reactive框架,并创建自定义限流局部过滤器与自定义限流器,通过执行Redis Lua脚本,获取Redis计数器模块中相同限流标识键Key下的请求次数统计,进而实现分布式网关限流;其中,所述自定义限流局部过滤器,继承Spring Cloud Gateway框架的AbstractGatewayFilterFactory抽象类,重写filter方法,在filter方法中执行自定义限流器的方法,根据是否限流的判断结果进行处理,如果超过流量阈值则不予通过,当系统收到请求时会调用该方法实现限流;所述自定义限流器,继承Spring Cloud Gateway框架的AbstractRateLimiter抽象类,重写isAllowed方法,在isAllowed方法执行Redis Lua脚本,获取是否限流的判断结果。6.一种分布式多维度限流方法,采用如权利要求1~5任一项所述的系统实现分布式多维度限流,包括以下步骤:S1:配置限流规则用户配置限流规则,向缓存中间件集群发送限流规则配置信...

【专利技术属性】
技术研发人员:徐况汪伟伟李凌悦贾成橙王涛
申请(专利权)人:科大国创云网科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1