CN112929290A - 一种限流方法、装置、系统、存储介质和设备、以及网关 - Google Patents
一种限流方法、装置、系统、存储介质和设备、以及网关 Download PDFInfo
- Publication number
- CN112929290A CN112929290A CN202110142426.0A CN202110142426A CN112929290A CN 112929290 A CN112929290 A CN 112929290A CN 202110142426 A CN202110142426 A CN 202110142426A CN 112929290 A CN112929290 A CN 112929290A
- Authority
- CN
- China
- Prior art keywords
- data center
- internet data
- value
- flow
- instances
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Abstract
本申请公开了一种限流方法、装置、系统、存储介质和设备、以及网关,获取互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算互联网数据中心的限流值。将互联网数据中心的限流值,写入到预先配置的路由规则中,使得路由规则发生更改。其中,路由规则包括参数项,参数项用于指示网关分配给互联网数据中心的流量。依据更改后的路由规则所指示的限流值,为互联网数据中心分配流量。可见,基于实例数量和限流规则,计算得到互联网数据中心的限流值,并依据限流值为互联网数据中心分配流量,能够随着互联网数据中心中实例数量的变化情况,计算互联网数据中心的限流值,限流精准且无需人为干预,实现对互联网数据中心集群的动态限流。
Description
技术领域
本申请涉及云计算领域,尤其涉及一种限流方法、装置、系统、存储介质和设备、以及网关。
背景技术
当前java语言体系主流的网关有spring Cloud gateway和netflix Zuul,C语言体系主流的网关则有Nginx,无论哪种体系的网关对流量(所谓的流量,即单位时间内的服务请求数量)的分配,本质上都是通过人工配置网关中的预设流量阈值来实现的,属于静态限流。然而,在将网关部署到互联网数据中心(Internet Data Center,IDC)集群中时,各个IDC下的实例数量(即服务器数量,可以理解为数据中心的计算能力)是变化的,现有的静态限流方法,难以满足IDC集群的业务需求。
发明内容
本申请提供了一种限流方法、装置、系统、存储介质和设备、以及网关,目的在于对IDC集群的流量进行动态限流。
为了实现上述目的,本申请提供了以下技术方案:
一种网关,包括:
调度器、边车、以及路由服务模块;
所述调度器,用于获取互联网数据中心的实例数量,基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,并向所述边车发送流量更新命令;其中,所述流量更新命令包括所述互联网数据中心的限流值;
所述边车,用于将所述互联网数据中心的限流值,写入到所述路由服务模块的路由规则中,使得所述路由规则发生更改,并触发所述路由服务模块读取更改后的所述路由规则;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
所述路由服务模块,用于依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
可选的,所述调度器用于获取互联网数据中心的实例数量,包括:
所述调度器具体用于,获取互联网数据中心的实例数量、以及身份标识;根据所述预先配置的限流规则,获取与所述身份标识对应的第一数值和第二数值;其中,所述限流规则包括所述身份标识、所述第一数值、以及所述第二数值之间的对应关系;所述第一数值用于指示所述互联网数据中心的预设并发数,第二数值用于指示所述互联网数据中心内单个实例的预设并发数。
可选的,所述调度器用于基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,包括:
所述调度器具体用于,计算所述实例数量和所述第二数值的乘积;
计算所述乘积和所述第一数值的和值,得到所述互联网数据中心的限流值。
一种限流方法,应用于网关,包括:
获取互联网数据中心的实例数量;
基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
可选的,所述获取互联网数据中心的实例数量,包括:
获取互联网数据中心的实例数量、以及身份标识;
根据所述预先配置的限流规则,获取与所述身份标识对应的第一数值和第二数值;其中,所述限流规则包括所述身份标识、所述第一数值、以及所述第二数值之间的对应关系;所述第一数值用于指示所述互联网数据中心的预设并发数,第二数值用于指示所述互联网数据中心内单个实例的预设并发数。
可选的,所述基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,包括:
计算所述实例数量和所述第二数值的乘积;
计算所述乘积和所述第一数值的和值,得到所述互联网数据中心的限流值。
一种限流装置,包括:
获取单元,用于获取互联网数据中心的实例数量;
计算单元,用于基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
写入单元,用于将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述限流装置分配给所述互联网数据中心的流量;
分配单元,用于依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
一种限流系统,包括:
流量服务器、网关、以及互联网数据中心;
所述流量服务器,用于向所述网关提供流量;
所述网关,用于获取所述互联网数据中心的实例数量,基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
所述网关,还用于将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
所述网关,还用于依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的限流方法。
一种限流设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的限流方法。
本申请提供的技术方案,获取互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算互联网数据中心的限流值。将互联网数据中心的限流值,写入到预先配置的路由规则中,使得路由规则发生更改。其中,路由规则包括参数项,参数项用于指示网关分配给互联网数据中心的流量。依据更改后的路由规则所指示的限流值,为互联网数据中心分配流量。可见,基于实例数量和预先配置的限流规则,计算得到互联网数据中心的限流值,并依据限流值为对应的互联网数据中心分配流量,能够随着互联网数据中心中实例数量的变化情况,计算互联网数据中心的限流值,限流精准且无需人为干预,实现对互联网数据中心集群的动态限流。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种网关的架构示意图;
图1b为本申请实施例提供的一种网关中各个功能模块之间的信息交互示意图;
图1c为本申请实施例提供的一种网关应用场景的示意图;
图1d为本申请实施例提供的一种网关拓扑图;
图2a为本申请实施例提供的一种限流系统的架构示意图;
图2b为本申请实施例提供的一种网关部署示意图;
图2c为本申请实施例提供的一种云平台的流量变更曲线示意图;
图3为本申请实施例提供的一种限流方法的示意图;
图4为本申请实施例提供的一种限流装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1a所示,以云平台(即IDC的一种具体类型)集群为例,为本申请实施例提供的一种网关的架构示意图,包括:
调度器(orchestra)100、边车(sidecar)200、以及路由服务模块(zuul)300。
基于调度器100、边车200、以及路由服务模块300之间的信息交互,实现对云平台集群的动态限流,其具体实现过程,如图1b所示,包括如下步骤:
S101:调度器获取云平台的实例数量、以及身份标识。
其中,调度器可以调用预设组件获取云平台的实例数量、以及身份标识。预设组件包括但不仅限于现有技术中提供的“云资源发现”组件。
S102:调度器根据预先配置的限流规则,获取与身份标识对应的第一数值和第二数值。
其中,限流规则包括云平台的身份标识、第一数值、以及第二数值之间的对应关系。第一数值用于指示云平台的预设并发数(baseline),第二数值用于指示云平台内单个实例的预设并发数(step)。
需要说明的是,调度器可以从数据库中获取与所述身份标识对应的第一数值和第二数值。
S103:计算实例数量和第二数值的乘积,并计算乘积和第一数值的和值,得到云平台的限流值。
其中,S103的具体过程可以理解为:限流值=第一数值+第二数值×实例数量。
S104:调度器向边车发送流量更新命令。
其中,流量更新命令包括云平台的限流值。
S105:边车将云平台的限流值,写入到路由服务模块的路由规则中,使得路由规则发生更改。
其中,路由规则包括参数项,参数项用于指示网关分配给云平台的流量。
S106:边车向路由服务模块发送指令。
S107:路由服务模块依据指令读取更改后的路由规则。
S108:路由服务模块依据更改后的路由规则所指示的限流值,为云平台分配流量。
为了便于理解上述S101-S108示出的流程,以图1c示出的网关应用场景为例,进行解释说明:
1、调度器(即图1c中的“Shuttle-Orchestra”)获取得到亚马逊云平台、腾讯云平台、以及阿里云平台各自的实例数量。
其中,亚马逊云平台的实例数量为4,腾讯云平台的实例数量为8,阿里云平台的实例数量为2。
2、针对每个云平台,调度器根据预先配置的限流规则,获取与云平台的身份标识对应的第一数值和第二数值。
3、针对每个云平台,调度器计算实例数量和第二数值的乘积,并计算乘积和第一数值的和值,得到云平台的限流值。
4、调度器向边车(即图1c中的“Shuttle-Sidecar”)发送流量更新命令(即图1c中的“配置推送”)。其中,流量更新命令包括各个云平台的限流值。
5、边车将各个云平台的限流值,写入到路由服务模块的路由规则(即图1c中的“动态配置文件”)中,使得路由规则发生更改。其中,路由规则包括参数项,参数项用于指示网关分配给各个云平台的流量。
6、边车触发路由服务模块(即图1c中的“Shuttle-Gateway”)读取更改后的路由规则。
7、路由服务模块依据更改后的路由规则所指示的限流值,为对应的云平台分配流量。
经由上述图1b、以及图1c所示的内容可知:
调度器100,用于获取互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算互联网数据中心的限流值,并向边车200发送流量更新命令,流量更新命令包括互联网数据中心的限流值。
其中,调度器100用于获取互联网数据中心的实例数量的具体过程为:获取互联网数据中心的实例数量、以及身份标识;根据预先配置的限流规则,获取与身份标识对应的第一数值和第二数值;其中,限流规则包括身份标识、第一数值、以及第二数值之间的对应关系,第一数值用于指示互联网数据中心的预设并发数,第二数值用于指示互联网数据中心内单个实例的预设并发数。
调度器100用于基于实例数量和预先配置的限流规则,计算互联网数据中心的限流值的具体过程为:计算实例数量和第二数值的乘积,并计算乘积和第一数值的和值,得到互联网数据中心的限流值。
以图1d示出的网关拓扑图为例,调度器100具体可以调用互联网数据中心提供的“云资源发现”组件(通常为互联网数据中心对外开放的SDK,具体可以为java依赖包,具体的,如图1d中示出的“ci-autoX”),实时获取互联网数据中心的实例数量。
当然,由于调度器100需要实时获取互联网数据中心的实例数量,该实例数量获取过程为连续的,故还需要为调度器100配置数据库组件(即图1d中示出的“CMDB”)、工作流组件(即图1d中示出的“WorkFlow”)、以及服务器组件(即图1d中示出的“Files”)。调度器100的限流规则通常存储至预设数据库中(即图1d中示出的“MySql”),并且,调度器100还将计算得到的各个互联网数据中心的限流值存储至预设缓存中(即图1d中示出的“缓存”)。
需要说明的是,调度器100向边车200发送流量更新命令,具体是通过paas服务(即图1d中示出的“MQ”)实现的,即调度器100将流量更新命令推送至paas服务中,经由paas服务向订阅者(即边车200)传输流量更新命令。
边车200,用于将互联网数据中心的限流值,写入到路由服务模块300的路由规则中,使得路由规则发生更改,并触发路由服务模块300读取更改后的路由规则,其中,路由规则包括参数项,参数项用于指示网关分配给互联网数据中心的流量。
以图1d示出的网关拓扑图为例,边车200通过一系列的操作(即图1d中示出的“in”、“end”、“out”、以及“para”等操作,都是本领域技术人员所熟悉的公知常识,这里不再赘述),将互联网数据中心的限流值,写入到路由服务模块300的路由规则中,为本领域技术人员所熟悉的公知常识,这里不再赘述。
路由服务模块300,用于依据更改后的路由规则所指示的限流值,为互联网数据中心分配流量。
综上所述,获取每个互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算得到每个互联网数据中心的限流值,并依据限流值为对应的互联网数据中心分配流量,能够随着每个互联网数据中心中实例数量的变化情况,计算每个互联网数据中心的限流值,限流精准且无需人为干预,实现对互联网数据中心集群的动态限流。
如图2a所示,为本申请实施例提供的一种限流系统的架构示意图,包括:
流量服务器201、网关202和互联网数据中心203。
流量服务器201,用于向所述网关202提供流量。在本申请实施例中,流量服务器201具体指的是各个互联网运营商的DNS服务器。
网关202,用于获取互联网数据中心203的实例数量,基于实例数量和预先配置的限流规则,计算互联网数据中心203的限流值。
网关202,还用于将互联网数据中心203的限流值,写入到预先配置的路由规则中,使得路由规则发生更改,路由规则包括参数项,参数项用于指示网关分配给互联网数据中心的流量。
网关202,还用于依据更改后的路由规则所指示的限流值,为互联网数据中心203分配流量。
需要说明的是,本申请所述的网关202,一端与所述流量服务器203连接,另一端与互联网数据中心203连接,即将网关202部署在流量入口处,所谓的流量入口处,可以理解为统一接收来自不同互联网运营商所发送的服务请求,并再将服务请求分发到互联网数据中心203的中转接口。具体的,可以将网关202部署在互联网数据中心集群下的各个互联网数据中心203中,也可以将网关202部署在一个互联网数据中心203中。在各个互联网数据中心203上部署网关,可以称之为多云部署,能够避免因其中一家互联网数据中心203故障导致整个业务的瘫痪。
需要说明的是,将网关部署在流量入口处的具体实现过程,为本领域技术人员所熟悉的公知常识。以图2b为例,所有服务请求都是请求到域名(例如https://mgtv.com/XXX),经由互联网运营商的DNS服务器解析域名,确定这个域名所映射到的公网IP上,例如,江西电信解析域名得到第一IP,湖南移动解析域名得到第二IP,本申请所述的网关在各个云平台上都设置一个对外暴漏的公网IP(可以利用云平台负载均衡(即图2b中所示出的“统一CLB(layer7)”、“HTTPS(layer7)”、“SLB(layer7)”)、以及绑定IP等方式实现),并将各个运营商的DNS配置都解析到该公网IP上,即可实现将网关部署在流量入口处(可以理解为图2b中所示的统一接入层)。
以云平台为例,在云平台上部署本申请所述的网关的具体实现过程包括:
1、预先部署paas服务。
其中,paas服务为本领域技术人员所熟悉的公知常识,用于为网关提供开发环境。
2、在paas服务提供的开发环境下,依次安装调度器、边车、以及路由服务模块。
其中,将边车和路由服务模块安装在同一个系统进程中,这种部署方式称之为边车模式,属于本领域技术人员所熟悉的公知常识,这里不再赘述。在本申请实施例中,边车用于辅助路由服务模块完成自身路由规则的更改、心跳上报(即监控各个IDC的工作状态)等杂项,路由服务模块则专注负责流量的分配(即网关的主要业务,为各个IDC分配流量,也就是限流)。
3、在确定调度器安装结束之后,配置调度器的限流规则。
其中,限流规则包括云平台的预设并发数(baseline)、云平台下单个实例的预设并发数(step)、身份标识、所属厂商、以及限流开关(用于指示是否对云平台进行限流)之间的对应关系。在实际应用中,baseline代表云平台所包含的服务器的服务能力,baseline的默认值可由技术人员根据实际情况进行设置,例如可以设为0。
4、在确定边车和路由服务模块安装结束之后,配置路由服务模块的路由规则。
其中,路由规则用于指示流量的转发策略和转发地址,在本申请实施例中,转发策略包括各个云平台的流量权重(即按照权重将全部流量分配给各个云平台,例如,阿里云平台占整体流量的20%,华为云平台占整体流量的80%)、以及各个云平台的初始限流值(即网关分配给各个云平台的初始流量),流量的转发策略和转发地址均属于本领域技术人员所熟悉的公知常识,这里不再赘述。
5、在确定网关部署结束之后,依次启动paas服务、调度器、以及边车。
6、在调用预设脚本触发边车和调度器进行数据同步之后,启动路由服务模块。
其中,调用预设脚本触发边车和调度器进行数据同步的具体实现过程,为本领域技术人员所熟悉的公知常识,例如,采用hash同步比对的方式实现数据同步。此外,触发边车和调度器进行数据同步之后,在启动路由服务模块的目的是:确保路由服务模块是依据云平台的最新实例数量,来为云平台分配流量(即所谓的动态限流),避免因边车和调度器之间数据不同步而导致限流失准。
为了验证本申请所述网关的动态限流效果,以对云平台集群(包括第一云平台和第二云平台)进行动态限流为例,对本申请所述网关的动态限流性能进行测试,其测试过程包括三个阶段。
第一阶段为:预先配置网关的限流规则,使得网关为第一云平台和第二云平台分配相等权重的流量。
第二阶段为:更改网关的限流规则,使得网关为第一云平台分配整体流量的5/6,为第二云平台分配整体流量的1/6。
第三阶段为:关闭第一云平台多个服务器。
经由上述三个测试阶段,得到第一云平台和第二云平台的流量变更曲线,如图2c所示。可见,在关闭第一云平台多个服务器的情况下,本申请所述网关能够及时感知第一云平台的实例数量的减少,从而降低分配给第一云平台的流量,实现对云平台集群的动态限流。
综上所述,获取互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算得到互联网数据中心的限流值,并依据限流值为对应的互联网数据中心分配流量,能够随着互联网数据中心中实例数量的变化情况,计算互联网数据中心的限流值,限流精准且无需人为干预,实现对互联网数据中心集群的动态限流。
如图3所示,为本申请实施例提供的一种限流方法的示意图,包括如下步骤:
S301:获取互联网数据中心的实例数量。
S302:基于实例数量和预先配置的限流规则,计算互联网数据中心的限流值。
S303:将互联网数据中心的限流值,写入到预先配置的路由规则中,使得路由规则发生更改。
其中,路由规则包括参数项,参数项用于指示网关分配给互联网数据中心的流量。
S304:依据更改后的路由规则所指示的限流值,为互联网数据中心分配流量。
综上所述,获取互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算得到互联网数据中心的限流值,并依据限流值为对应的互联网数据中心分配流量,能够随着互联网数据中心中实例数量的变化情况,计算互联网数据中心的限流值,限流精准且无需人为干预,实现对互联网数据中心集群的动态限流。
与上述本申请实施例提供的限流方法相对应,本申请实施例还提供了一种限流装置。
如图4所示,为本申请实施例提供的一种限流装置的结构示意图,包括:
获取单元401,用于获取互联网数据中心的实例数量。
其中,获取单元401具体用于:获取互联网数据中心的实例数量、以及身份标识;根据预先配置的限流规则,获取与身份标识对应的第一数值和第二数值;其中,限流规则包括身份标识、第一数值、以及第二数值之间的对应关系;第一数值用于指示互联网数据中心的预设并发数,第二数值用于指示互联网数据中心内单个实例的预设并发数。
计算单元402,用于基于实例数量和预先配置的限流规则,计算互联网数据中心的限流值。
其中,计算单元402具体用于:计算实例数量和第二数值的乘积;计算乘积和第一数值的和值,得到互联网数据中心的限流值。
写入单元403,用于将互联网数据中心的限流值,写入到预先配置的路由规则中,使得路由规则发生更改,其中,路由规则包括参数项,参数项用于指示限流装置分配给互联网数据中心的流量。
分配单元404,用于依据更改后的路由规则所指示的限流值,为互联网数据中心分配流量。
综上所述,获取互联网数据中心的实例数量,基于实例数量和预先配置的限流规则,计算得到互联网数据中心的限流值,并依据限流值为对应的互联网数据中心分配流量,能够随着互联网数据中心中实例数量的变化情况,计算互联网数据中心的限流值,限流精准且无需人为干预,实现对互联网数据中心集群的动态限流。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本申请提供的限流方法。
本申请还提供了一种限流设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本申请提供的限流方法,包括如下步骤:
获取互联网数据中心的实例数量;
基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
可选的,所述获取互联网数据中心的实例数量,包括:
获取互联网数据中心的实例数量、以及身份标识;
根据预先配置的限流规则,获取与所述身份标识对应的第一数值和第二数值;其中,所述限流规则包括所述身份标识、所述第一数值、以及所述第二数值之间的对应关系;所述第一数值用于指示所述互联网数据中心的预设并发数,第二数值用于指示所述互联网数据中心内单个实例的预设并发数。
可选的,所述基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,包括:
计算所述实例数量和所述第二数值的乘积;
计算所述乘积和所述第一数值的和值,得到所述互联网数据中心的限流值。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种网关,其特征在于,包括:
调度器、边车、以及路由服务模块;
所述调度器,用于获取互联网数据中心的实例数量,基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,并向所述边车发送流量更新命令;其中,所述流量更新命令包括所述互联网数据中心的限流值;
所述边车,用于将所述互联网数据中心的限流值,写入到所述路由服务模块的路由规则中,使得所述路由规则发生更改,并触发所述路由服务模块读取更改后的所述路由规则;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
所述路由服务模块,用于依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
2.根据权利要求1所述的网关,其特征在于,所述调度器用于获取互联网数据中心的实例数量,包括:
所述调度器具体用于,获取互联网数据中心的实例数量、以及身份标识;根据所述预先配置的限流规则,获取与所述身份标识对应的第一数值和第二数值;其中,所述限流规则包括所述身份标识、所述第一数值、以及所述第二数值之间的对应关系;所述第一数值用于指示所述互联网数据中心的预设并发数,第二数值用于指示所述互联网数据中心内单个实例的预设并发数。
3.根据权利要求2所述的网关,其特征在于,所述调度器用于基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,包括:
所述调度器具体用于,计算所述实例数量和所述第二数值的乘积;
计算所述乘积和所述第一数值的和值,得到所述互联网数据中心的限流值。
4.一种限流方法,其特征在于,应用于网关,包括:
获取互联网数据中心的实例数量;
基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
5.根据权利要求4所述的方法,其特征在于,所述获取互联网数据中心的实例数量,包括:
获取互联网数据中心的实例数量、以及身份标识;
根据所述预先配置的限流规则,获取与所述身份标识对应的第一数值和第二数值;其中,所述限流规则包括所述身份标识、所述第一数值、以及所述第二数值之间的对应关系;所述第一数值用于指示所述互联网数据中心的预设并发数,第二数值用于指示所述互联网数据中心内单个实例的预设并发数。
6.根据权利要求5所述的方法,其特征在于,所述基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值,包括:
计算所述实例数量和所述第二数值的乘积;
计算所述乘积和所述第一数值的和值,得到所述互联网数据中心的限流值。
7.一种限流装置,其特征在于,包括:
获取单元,用于获取互联网数据中心的实例数量;
计算单元,用于基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
写入单元,用于将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述限流装置分配给所述互联网数据中心的流量;
分配单元,用于依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
8.一种限流系统,其特征在于,包括:
流量服务器、网关、以及互联网数据中心;
所述流量服务器,用于向所述网关提供流量;
所述网关,用于获取所述互联网数据中心的实例数量,基于所述实例数量和预先配置的限流规则,计算所述互联网数据中心的限流值;
所述网关,还用于将所述互联网数据中心的限流值,写入到预先配置的路由规则中,使得所述路由规则发生更改;所述路由规则包括参数项,所述参数项用于指示所述网关分配给所述互联网数据中心的流量;
所述网关,还用于依据更改后的所述路由规则所指示的限流值,为所述互联网数据中心分配流量。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求4-6任一所述的限流方法。
10.一种限流设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求4-6任一所述的限流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142426.0A CN112929290B (zh) | 2021-02-02 | 2021-02-02 | 一种限流方法、装置、系统、存储介质和设备、以及网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142426.0A CN112929290B (zh) | 2021-02-02 | 2021-02-02 | 一种限流方法、装置、系统、存储介质和设备、以及网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112929290A true CN112929290A (zh) | 2021-06-08 |
CN112929290B CN112929290B (zh) | 2023-02-24 |
Family
ID=76169577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110142426.0A Active CN112929290B (zh) | 2021-02-02 | 2021-02-02 | 一种限流方法、装置、系统、存储介质和设备、以及网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112929290B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181034A1 (en) * | 2012-12-21 | 2014-06-26 | Zetta, Inc. | Systems and methods for minimizing network bandwidth for replication/back up |
CN104767689A (zh) * | 2014-01-07 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 控制网络访问接入量的方法及服务器 |
CN107222426A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
CN107483351A (zh) * | 2017-07-13 | 2017-12-15 | 中国银联股份有限公司 | 一种限流方法及装置 |
CN108259376A (zh) * | 2018-04-24 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 服务器集群业务流量的控制方法及相关设备 |
CN108667654A (zh) * | 2018-04-19 | 2018-10-16 | 北京奇艺世纪科技有限公司 | 服务器集群自动扩容方法及相关设备 |
CN109005125A (zh) * | 2018-08-24 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 动态限流方法、装置及系统 |
CN109309666A (zh) * | 2018-08-22 | 2019-02-05 | 中国平安财产保险股份有限公司 | 一种网络安全中的接口安全控制方法及终端设备 |
CN110297698A (zh) * | 2018-03-22 | 2019-10-01 | 财付通支付科技有限公司 | 一种多优先级动态限流方法、装置、服务器及存储介质 |
CN110554918A (zh) * | 2019-08-09 | 2019-12-10 | 北京字节跳动网络技术有限公司 | 限流方法、装置、电子设备和计算机可读存储介质 |
CN110753131A (zh) * | 2019-11-04 | 2020-02-04 | 网易(杭州)网络有限公司 | 微服务分布式限流方法及装置、存储介质和电子设备 |
CN111277423A (zh) * | 2018-12-04 | 2020-06-12 | 中兴通讯股份有限公司 | 数据中心流量互通方法、装置、设备及存储介质 |
CN111767142A (zh) * | 2020-06-23 | 2020-10-13 | 中国工商银行股份有限公司 | 服务节点的限流阈值设置方法和服务端设备 |
CN111786895A (zh) * | 2020-03-16 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 动态全局限流的方法和装置 |
CN112003750A (zh) * | 2020-08-24 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种数据中心主机Overlay网络访问控制方法 |
CN112118184A (zh) * | 2020-08-06 | 2020-12-22 | 北京健康之家科技有限公司 | 网关自动路由方法及装置、存储介质、计算机设备 |
CN112134954A (zh) * | 2020-09-22 | 2020-12-25 | 京东数字科技控股股份有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-02-02 CN CN202110142426.0A patent/CN112929290B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181034A1 (en) * | 2012-12-21 | 2014-06-26 | Zetta, Inc. | Systems and methods for minimizing network bandwidth for replication/back up |
CN104767689A (zh) * | 2014-01-07 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 控制网络访问接入量的方法及服务器 |
CN107222426A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
CN107483351A (zh) * | 2017-07-13 | 2017-12-15 | 中国银联股份有限公司 | 一种限流方法及装置 |
CN110297698A (zh) * | 2018-03-22 | 2019-10-01 | 财付通支付科技有限公司 | 一种多优先级动态限流方法、装置、服务器及存储介质 |
CN108667654A (zh) * | 2018-04-19 | 2018-10-16 | 北京奇艺世纪科技有限公司 | 服务器集群自动扩容方法及相关设备 |
CN108259376A (zh) * | 2018-04-24 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 服务器集群业务流量的控制方法及相关设备 |
CN109309666A (zh) * | 2018-08-22 | 2019-02-05 | 中国平安财产保险股份有限公司 | 一种网络安全中的接口安全控制方法及终端设备 |
CN109005125A (zh) * | 2018-08-24 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 动态限流方法、装置及系统 |
CN111277423A (zh) * | 2018-12-04 | 2020-06-12 | 中兴通讯股份有限公司 | 数据中心流量互通方法、装置、设备及存储介质 |
CN110554918A (zh) * | 2019-08-09 | 2019-12-10 | 北京字节跳动网络技术有限公司 | 限流方法、装置、电子设备和计算机可读存储介质 |
CN110753131A (zh) * | 2019-11-04 | 2020-02-04 | 网易(杭州)网络有限公司 | 微服务分布式限流方法及装置、存储介质和电子设备 |
CN111786895A (zh) * | 2020-03-16 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 动态全局限流的方法和装置 |
CN111767142A (zh) * | 2020-06-23 | 2020-10-13 | 中国工商银行股份有限公司 | 服务节点的限流阈值设置方法和服务端设备 |
CN112118184A (zh) * | 2020-08-06 | 2020-12-22 | 北京健康之家科技有限公司 | 网关自动路由方法及装置、存储介质、计算机设备 |
CN112003750A (zh) * | 2020-08-24 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种数据中心主机Overlay网络访问控制方法 |
CN112134954A (zh) * | 2020-09-22 | 2020-12-25 | 京东数字科技控股股份有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
KEN: "限流的概念,算法,分布式限流以及微服务架构下限流的难点", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/158948815》, 16 July 2020 (2020-07-16), pages 1 - 7 * |
Also Published As
Publication number | Publication date |
---|---|
CN112929290B (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110447208B (zh) | 一种网络切片的管理方法、单元和系统 | |
CN111385369B (zh) | 一种域名服务器的分配方法和装置 | |
CN109560955B (zh) | 网络的部署信息确定方法及设备 | |
CN110191063B (zh) | 服务请求的处理方法、装置、设备及存储介质 | |
CN111245634B (zh) | 一种虚拟化管理方法及装置 | |
CN110554927A (zh) | 基于区块链的微服务调用方法 | |
CN110417870A (zh) | 配置文件管理方法、装置、设备和存储介质 | |
CN113055421A (zh) | 一种服务网格治理方法及系统 | |
US20180062946A1 (en) | Method and Apparatus for Establishing Network Service Instance | |
CN111090495A (zh) | 节点管理方法、装置、设备、存储介质和系统 | |
CN113220484A (zh) | 一种微服务调用方法、装置、电子设备及存储介质 | |
CN112019610A (zh) | 一种云边协同方法及系统 | |
CN112685287A (zh) | 产品数据的测试方法、装置、存储介质及电子装置 | |
CN115934202A (zh) | 一种数据管理方法、系统、数据服务网关及存储介质 | |
CN114285852A (zh) | 基于多级服务平台的服务调用方法及装置 | |
CN110784358A (zh) | 网络调用关系拓扑图的构建方法及装置 | |
CN112929290B (zh) | 一种限流方法、装置、系统、存储介质和设备、以及网关 | |
CN111124593B (zh) | 信息处理方法及装置、网元及存储介质 | |
CN111565120A (zh) | 一种5g网络切片产品配置方法、系统及电子设备 | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN114615285B (zh) | 一种物理机的部署方法、装置、电子设备及存储介质 | |
CN114553771B (zh) | 用于虚拟路由器加载的方法及相关设备 | |
CN113746851B (zh) | 一种支持实时解析grpc请求的代理系统和方法 | |
CN114938396A (zh) | 服务调用请求的路由方法、创建服务的方法及装置 | |
US11553001B2 (en) | End user security manager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |