全局限流系统技术方案

技术编号:39508048 阅读:6 留言:0更新日期:2023-11-25 18:43
本公开提供了全局限流系统

【技术实现步骤摘要】
全局限流系统、方法、电子设备、存储介质、程序产品


[0001]本公开涉及计算机
,尤其涉及流量限流领域


技术介绍

[0002]分布式部署的微服务架构是大型互联网公司主流的后端服务架构

微服务架构的主要特点是:实例多

应用多

依赖关系复杂

局部故障往往影响到整个链路的稳定性,服务的可用性得不到保障

为了保障微服务架构的可用性,一个必要的措施是对收到的访问请求进行限流处理,避免微服务架构被短时间内大幅流量波动所影响


技术实现思路

[0003]本公开提供了一种全局限流系统

方法

电子设备

存储介质

程序产品

[0004]根据本公开的第一方面,提供了一种全局限流系统,包括:
[0005]至少两个限流组件,各个限流组件分别对接分布式服务集群包含的至少一个业务服务;所述限流组件用于拦截与所述限流组件对接的业务服务的访问请求,并将所述访问请求对应的请求信息转发至限流服务器;
[0006]限流服务器,所述限流服务器存储有与限流组件对接的所有业务服务的限流规则;所述限流服务器用于根据所述限流规则对所述请求信息进行全局限流校验,并返回所述全局限流校验的校验结果至所述限流组件;
[0007]所述限流组件还用于根据所述校验结果对所述访问请求进行限流

[0008]根据本公开的第二方面,提供了一种全局限流方法,应用于限流组件,所述限流组件对接分布式服务集群包含的至少一个业务服务,所述全局限流方法包括:
[0009]拦截业务服务的访问请求,并将所述访问请求对应的请求信息转发至限流服务器,以由所述限流服务器根据所述限流服务器存储的限流规则对所述请求信息进行全局限流校验,并返回所述全局限流校验的校验结果;
[0010]获取所述校验结果,并根据所述校验结果对所述访问请求进行限流

[0011]根据本公开的第三方面,提供了一种全局限流方法,应用于限流服务器,所述限流服务器存储有限流规则;所述全局限流方法包括:
[0012]接收限流组件发送的请求信息;所述请求信息为限流组件拦截的业务服务的访问请求对应的请求信息;所述限流组件对接分布式服务集群包含的至少一个业务服务;
[0013]根据所述限流规则对所述请求信息进行全局限流校验,并返回所述全局限流校验的校验结果至限流组件,以由所述限流组件根据所述校验结果对所述访问请求进行限流

[0014]根据本公开的第四方面,提供了一种电子设备,包括:
[0015]至少一个处理器;以及
[0016]与所述至少一个处理器通信连接的存储器;其中,
[0017]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的全局限流方法
[0018]根据本公开的第五方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一项所述的全局限流方法

[0019]根据本公开的第六方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一项所述的全局限流方法

[0020]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围

本公开的其它特征将通过以下的说明书而变得容易理解

附图说明
[0021]附图用于更好地理解本方案,不构成对本公开的限定

其中:
[0022]图1为本公开一示例性实施例提供的一种全局限流系统的架构示意图;
[0023]图2为本公开一示例性实施例提供的另一种全局限流系统的架构示意图;
[0024]图3为本公开一示例性实施例提供的一种全局限流方法的流程图;
[0025]图4为本公开一示例性实施例提供的另一种全局限流方法的流程图;
[0026]图5为用来实现本公开实施例的全局限流方法的电子设备的框图

具体实施方式
[0027]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的

因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神

同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述

[0028]本公开实施例提供一种全局限流系统,用于对分布式服务集群进行全局限流

分布式服务集群的架构可以但不限于采用分布式部署的微服务架构

分布式服务集群可以用于实现各类业务,例如广告投放业务为例,用于实现广告投放的分布式服务集群,其底层物料
(
如:关键词
)
具有量级大

操作频繁的特点,为方便广告主管理物料,分布式服务集群的接口均具有批量操作的特点

针对具有流量脉冲特性
(
瞬时

高频

大批量
)
的访问请求进行有效限流,是提升分布式服务集群可用性的重要保障

[0029]图1为本公开一示例性实施例提供的一种全局限流系统的架构示意图,该全局限流系统包括:至少两个限流组件
11
和限流服务器
12。
各个限流组件
11
分别对接分布式服务集群包含的至少一个业务服务

[0030]全局限流系统包含的限流组件
11
的数量可以根据实际情况自行设置,各个限流组件
11
所对接的业务服务的数量

对接方式也可以根据实际情况自行设置,本公开实施例对此不作特别限定

[0031]限流组件
11
用于拦截与限流组件
11
对接的业务服务的访问请求,并将访问请求对应的请求信息转发至限流服务器
12。
[0032]限流组件
11
一般部署于业务服务的部署服务器,以拦截业务服务的访问请求

[0033]其中,请求信息包括限流校验所需的参数,请求信息可以但不限于包括以下参数中的至少一种:访问请求的所需消耗配额

请求对象

待访问对象

待访问对象的限流规则的规则标识

限流粒度等

请求对象也即访问请求的发送方,可以但不限于通过用户
IP
地址和用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种全局限流系统,包括:至少两个限流组件,各个限流组件分别对接分布式服务集群包含的至少一个业务服务;所述限流组件用于拦截与所述限流组件对接的业务服务的访问请求,并将所述访问请求对应的请求信息转发至限流服务器;限流服务器,所述限流服务器存储有与限流组件对接的所有业务服务的限流规则;所述限流服务器用于根据所述限流规则对所述请求信息进行全局限流校验,并返回所述全局限流校验的校验结果至所述限流组件;所述限流组件还用于根据所述校验结果对所述访问请求进行限流
。2.
根据权利要求1所述的全局限流系统,其中,所述限流组件包括:存储介质,存储有限流规则;限流插件,用于确定所拦截的访问请求的所需消耗配额和目标规则标识,并将包含所需消耗配额和目标规则标识的请求信息转发至限流服务器
12
;其中,所述目标规则标识为所述存储介质中存储的且针对所拦截的访问请求的限流规则的标识
。3.
根据权利要求2所述的全局限流系统,还包括:扩展服务器,用于确定关联服务执行业务逻辑所需的第一消耗配额,并将所述第一消耗配额发送至所述限流组件,以由所述限流插件根据所述第一消耗配额和第二消耗配额确定所述所需消耗配额;其中,所述关联服务为所述业务服务执行业务逻辑的过程中需调用的业务服务
。4.
根据权利要求1所述的全局限流系统,还包括:扩展服务器,用于确定关联服务执行业务逻辑所需的第一消耗配额并将所述第一消耗配额发送至限流服务器,以由所述限流服务器根据第二消耗配额和所述第一消耗配额确定所述访问请求的所需消耗配额,并根据限流规则对所述所需消耗配额进行全局限流校验;其中,所述关联服务为所述业务服务执行业务逻辑的过程中需调用的业务服务;所述第二消耗配额为所拦截的访问请求针对的业务服务执行业务逻辑所需的消耗配额
。5.
根据权利要求2或3所述的全局限流系统,其中,所述限流插件为
Java
探针
。6.
根据权利要求1所述的全局限流系统,其中,当所述访问请求为针对所述业务服务的接口的访问请求时,所述限流组件直接拦截所述访问请求;或者,当所述访问请求为针对所述业务服务的数据库的访问请求时,所述限流组件调用数据库连接插件
JDBC
,以拦截所述访问请求
。7.
根据权利要求2或3所述的全局限流系统,其中,所述限流服务器包括:计数器,用于确定各业务服务在滑动窗口内所有访问请求的已消耗配额;校验模块,用于根据与所述目标规则标识相匹配的限流规则和所述已消耗配额确定限流阈值,并当所述所需消耗配额小于等于所述限流阈值时,返回允许访问的校验结果至所述限流组件;否则,返回拒绝访问的校验结果至所述限流组件
。8.
根据权利要求1所述的全局限流系统,还包括:规则管理组件,用于获取针对所述业务服务配置的限流规则,并将所述限流规则下发至所述限流服务器;所述规则管理组件,还用于将所述限流规则下发至与所述业务服务对接的限流组件,或者将所述限流规则包含的规则属性下发至与所述业务服务对接的限流组件;其中,所述
限流规则包括规则属性和限流逻辑
。9.
一种全局限流方法,应用于限流组件,所述限流组件对接分布式服务集群包含的至少一个业务服务,所述全局限流方法包括:拦截业务服务的访问请求,并将所述访问请求对应的请求信息转发至限流服务器,以由所述限流服务器根据所述限流服务器存储的限流规则对所述请求信息进行全局限流校验;获取所述全局限流校验的校验结果,并根据所述校验结果对所述访问请求进行限流
。10.
根据权利要求9所述的全局限流方法,其中,将所述访问请求对应的请求信息转发至限流服务器,包括:确定所拦截的访问请求的所需消耗配额和目标规则标识;将包含所述所需消耗配额和所述目标规则标识的请求信息转发至限流服务器;其中,所述目标规则标识为针对所述访问...

【专利技术属性】
技术研发人员:范立岩刘涛李奇原张佳
申请(专利权)人:百度时代网络技术
类型:发明
国别省市:

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

1