CN109218212B - 一种通过api网关对流量进行限制的方法 - Google Patents

一种通过api网关对流量进行限制的方法 Download PDF

Info

Publication number
CN109218212B
CN109218212B CN201811020872.9A CN201811020872A CN109218212B CN 109218212 B CN109218212 B CN 109218212B CN 201811020872 A CN201811020872 A CN 201811020872A CN 109218212 B CN109218212 B CN 109218212B
Authority
CN
China
Prior art keywords
micro
service
api gateway
current limiting
terminal
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.)
Active
Application number
CN201811020872.9A
Other languages
English (en)
Other versions
CN109218212A (zh
Inventor
李强
王凤琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Hongwei Technology Co Ltd
Original Assignee
Homwee Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Homwee Technology Co ltd filed Critical Homwee Technology Co ltd
Priority to CN201811020872.9A priority Critical patent/CN109218212B/zh
Publication of CN109218212A publication Critical patent/CN109218212A/zh
Application granted granted Critical
Publication of CN109218212B publication Critical patent/CN109218212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种通过API网关对流量进行限制的方法,包括步骤:A.API网关为注册的微服务构建列表数据结构;B.API网关对每个微服务接口配置限流策略;C.根据步骤B的限流策略构建限流过滤模块;D.API网关启动限流过滤模块,并根据限流模块的输出结果决定是否响应终端的请求。本发明的方法中,通过配置限流过滤模块及限流策略集,使得API网关可以根据用户终端的实际访问情况,对微服务访问的流量进行灵活控制,完全满足实际业务的复杂需求。

Description

一种通过API网关对流量进行限制的方法
技术领域
本发明涉及计算机软件的分布式系统技术领域,特别涉及一种通过API网关对流量进行限制的方法。
背景技术
随着移动互联网的不断深入,越来越多的公司和企业逐渐开始面向互联网,并且把面向客户的服务和业务也迁移到线上。在开发这些线上业务时,随着客户数量的不断增多,业务平台的架构也在不断地变化演进。从早期的单体应用架构逐渐转变为微服务架构,集群和分布式也成为了标配的技术。
在构建微服务架构的基础平台的过程中,API(Application ProgrammingInterface)网关是必不可少的核心组件之一。API网关为一组微服务提供统一的接口,以便客户端无需知道微服务内部的所有细节。
在API网关可以对后端微服务接口的访问进行限流,但是目前业界通常的解决方法是使用计数器,终端每对微服务接口进行了一次访问,计数器的计数就加一,当计数器的计数达到预设的阀值时就拒绝用户的访问服务。这种限流方式较为单一,不能完全满足业务平台的复杂需求。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种通过API网关对流量进行限制的方法,使用限流过滤模块并结合限流策略集,使得API网关可以根据用户终端的实际访问情况,对微服务访问的流量进行灵活控制,完全满足实际业务的复杂需求。
为了达到上述的技术效果,本发明采取以下技术方案:
一种通过API网关对流量进行限制的方法,适用于采用了集群和/或分布式设计的系统,包括以下步骤:
A.API网关为注册的微服务构建列表数据结构;
B.API网关对每个微服务接口配置限流策略;
C.根据步骤B的限流策略构建限流过滤模块;
D.API网关启动限流过滤模块,并根据限流模块的输出结果决定是否响应终端的请求。
进一步地,所述微服务为已注册到API网关且面向终端用户对外开放服务的微服务,且每个微服务均有独立的命名或微服务ID。
进一步地,所述列表数据结构由若干元素项构成,一个所述元素项的值对应一个微服务的命名或微服务ID。
进一步地,所述限流策略是单一策略或多种策略的组合,且每个策略都对应有一个相应的算法。
进一步地,所述单一策略为每秒允许访问的最大次数N1或单个终端IP在M1秒内允许访问的最大次数N2或给定IP地址段的终端IP在M2秒内允许访问的最大次数N3。
进一步地,所述限流过滤模块中设有逻辑运算单元、信息采集单元及决策输出单元,逻辑运算单元分别与信息采集单元及决策输出单元相连;
所述逻辑运算单元根据一系列逻辑运算规则构成的规则集合进行逻辑运算,所述信息采集单元用于采集终端的信息及该终端要访问的微服务的信息,所述决策输出单元用于输出与逻辑运算单元的运算结果对应的响应决定。
进一步地,所述规则集合是限流策略中涉及的算法的集合。
进一步地,所述信息采集单元采集的信息包括:终端IP、终端用户ID、终端用户名、微服务ID、和/或微服务接口名。
进一步地,所述决策输出单元输出的响应决定为允许访问或拒绝访问。
本发明与现有技术相比,具有以下的有益效果:
本发明的通过API网关对流量进行限制的方法中,通过配置限流过滤模块及限流策略集,使得API网关可以根据用户终端的实际访问情况,对微服务访问的流量进行灵活控制,完全满足实际业务的复杂需求。
附图说明
图1是本发明的通过API网关对流量进行限制的方法的流程示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
如图1所示,一种通过API网关对流量进行限制的方法,可应用于微服务架构中,适用于分布式计算平台、云计算平台等数据中心,该方法主要包括以下步骤:
步骤101,API网关为注册的微服务构建列表数据结构。
所述的微服务为注册到API网关且要面向终端用户对外开放服务的微服务。
所述的列表数据结构为根据每一个微服务的命名或者服务ID作为列表数据结构的元素项的值。
步骤102,API网关对每个微服务接口配置限流策略。
所述的限流策略可以是多种策略的组合也可以是单一策略。
其中,单一策略可以是每秒允许访问的最大次数N1或单个终端IP在M1秒内允许访问的最大次数N2或给定IP地址段(如从P1到P2)在M2秒内允许访问的最大次数N3等。每一种限流策略对应一个相应的算法。作为优选,所述的限流策略的规则支持扩展,可根据实际需要继续添加。
步骤103,根据步骤102的限流策略构建限流过滤模块。
所述的限流过滤模块中设有逻辑运算单元、信息采集单元及决策输出单元,逻辑运算单元分别与信息采集单元及决策输出单元相连;
所述逻辑运算单元根据一系列逻辑运算规则构成的规则集合进行逻辑运算,所述信息采集单元用于采集终端的信息及该终端要访问的微服务的信息,所述决策输出单元用于输出与逻辑运算单元的运算结果对应的响应决定。其中,所述规则集合是限流策略中涉及的算法的集合。
所述信息采集单元采集的信息包括:终端的IP地址、终端用户ID、终端用户名、微服务ID、微服务接口名等信息中至少一个。
决策输出单元输出的响应决定即限流过滤模块的输出信息,本实施例中,响应决定为Y或N,其中Y表示允许访问,N表示拒绝访问。
步骤104,API网关启动限流过滤模块,并根据限流模块的决策输出单元输出的响应决定,决定是让后端微服务去响应终端的请求,还是直接返回代码404拒绝服务,若决策输出单元输出的响应决定为Y则让后端微服务去响应终端的请求,若决策输出单元输出的响应决定为N,则直接向终端返回代码404拒绝服务。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (5)

1.一种通过API网关对流量进行限制的方法,适用于采用了集群和/或分布式设计的系统,其特征在于,包括以下步骤:
A.API网关为注册的微服务构建列表数据结构;所述微服务为已注册到API网关且面向终端用户对外开放服务的微服务,且每个微服务均有独立的命名或微服务ID;所述列表数据结构由若干元素项构成,一个所述元素项的值对应一个微服务的命名或微服务ID;
B.API网关对每个微服务接口配置限流策略;所述限流策略是单一策略或多种策略的组合,且每个策略都对应有一个相应的算;所述单一策略为每秒允许访问的最大次数N1或单个终端IP在M1秒内允许访问的最大次数N2或给定IP地址段的终端IP在M2秒内允许访问的最大次数N3;
C.根据步骤B的限流策略构建限流过滤模块;
D.API网关启动限流过滤模块,并根据限流模块的输出结果决定是否响应终端的请求。
2.根据权利要求1所述的一种通过API网关对流量进行限制的方法,其特征在于,所述限流过滤模块中设有逻辑运算单元、信息采集单元及决策输出单元,逻辑运算单元分别与信息采集单元及决策输出单元相连;
所述逻辑运算单元根据一系列逻辑运算规则构成的规则集合进行逻辑运算,所述信息采集单元用于采集终端的信息及该终端要访问的微服务的信息,所述决策输出单元用于输出与逻辑运算单元的运算结果对应的响应决定。
3.根据权利要求2所述的一种通过API网关对流量进行限制的方法,其特征在于,所述规则集合是限流策略中涉及的算法的集合。
4.根据权利要求2所述的一种通过API网关对流量进行限制的方法,其特征在于,所述信息采集单元采集的信息包括:终端IP、终端用户ID、终端用户名、微服务ID、和/或微服务接口名。
5.根据权利要求2所述的一种通过API网关对流量进行限制的方法,其特征在于,所述决策输出单元输出的响应决定为允许访问或拒绝访问。
CN201811020872.9A 2018-09-03 2018-09-03 一种通过api网关对流量进行限制的方法 Active CN109218212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811020872.9A CN109218212B (zh) 2018-09-03 2018-09-03 一种通过api网关对流量进行限制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811020872.9A CN109218212B (zh) 2018-09-03 2018-09-03 一种通过api网关对流量进行限制的方法

Publications (2)

Publication Number Publication Date
CN109218212A CN109218212A (zh) 2019-01-15
CN109218212B true CN109218212B (zh) 2022-05-13

Family

ID=64986786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811020872.9A Active CN109218212B (zh) 2018-09-03 2018-09-03 一种通过api网关对流量进行限制的方法

Country Status (1)

Country Link
CN (1) CN109218212B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981757B (zh) * 2019-03-13 2022-07-08 青岛特来电新能源科技有限公司 一种面向小规模微服务架构的api网关负载均衡方法
CN110535777B (zh) * 2019-08-12 2022-07-12 新华三大数据技术有限公司 访问请求控制方法、装置、电子设备以及可读存储介质
CN111131397B (zh) * 2019-12-02 2022-09-30 京东科技信息技术有限公司 应用管理方法及系统、网关平台、服务端、存储介质
CN111600807A (zh) * 2020-04-14 2020-08-28 网宿科技股份有限公司 一种基于api网关设备的流量控制方法和系统
CN111817976B (zh) * 2020-07-16 2023-04-25 浙江百应科技有限公司 一种流量自适应限流系统及其控制方法
CN112333167A (zh) * 2020-10-27 2021-02-05 北京聚通达科技股份有限公司 一种统一认证系统
CN112437006B (zh) * 2020-11-20 2023-03-24 北京百度网讯科技有限公司 基于api网关的请求控制方法、装置、电子设备和存储介质
CN112953840A (zh) * 2021-01-27 2021-06-11 上海金仕达成括信息科技有限公司 一种限流控制方法、网关设备及限流控制系统
CN113259492B (zh) * 2021-07-07 2021-12-10 天聚地合(苏州)数据股份有限公司 服务请求转发方法及系统
CN114760250B (zh) * 2022-03-18 2023-11-03 福建天晴数码有限公司 一种服务网关通过分层限流保障高可用的方案及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375472A (zh) * 2016-09-29 2017-02-01 北京三快在线科技有限公司 访问请求处理方法、装置和服务器
US9667704B1 (en) * 2014-04-26 2017-05-30 Google Inc. System and method for classifying API requests in API processing systems using a tree configuration
CN108306874A (zh) * 2018-01-29 2018-07-20 口碑(上海)信息技术有限公司 服务接口访问限流方法及装置
CN108416591A (zh) * 2018-02-28 2018-08-17 四川新网银行股份有限公司 一种金融交易中通过api接口实现交易主动限流的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569332B2 (en) * 2014-02-03 2017-02-14 Apigee Corporation System and method for investigating anomalies in API processing systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667704B1 (en) * 2014-04-26 2017-05-30 Google Inc. System and method for classifying API requests in API processing systems using a tree configuration
CN106375472A (zh) * 2016-09-29 2017-02-01 北京三快在线科技有限公司 访问请求处理方法、装置和服务器
CN108306874A (zh) * 2018-01-29 2018-07-20 口碑(上海)信息技术有限公司 服务接口访问限流方法及装置
CN108416591A (zh) * 2018-02-28 2018-08-17 四川新网银行股份有限公司 一种金融交易中通过api接口实现交易主动限流的方法

Also Published As

Publication number Publication date
CN109218212A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN109218212B (zh) 一种通过api网关对流量进行限制的方法
CN109218281B (zh) 基于意图的网络安全策略修改
US11757872B2 (en) Contextual and risk-based multi-factor authentication
US10887306B2 (en) Authenticating an unknown device based on relationships with other devices in a group of devices
US9038134B1 (en) Managing predictions in data security systems
US12015596B2 (en) Risk analysis using port scanning for multi-factor authentication
US11388175B2 (en) Threat detection of application traffic flows
KR20160065923A (ko) 클러스터링에 기반한 매핑과 라우팅을 위한 시스템 및 방법
JP2014086083A (ja) ネットワークアクセス及び受付制御のためのソーシャルグラフの利用
US20220166795A1 (en) Defense of targeted database attacks through dynamic honeypot database response generation
JP2013503375A (ja) アクセス制御リストの変更
CN113765982A (zh) 一种请求响应方法、装置、系统、服务器和存储介质
US11563741B2 (en) Probe-based risk analysis for multi-factor authentication
US20210312271A1 (en) Edge ai accelerator service
CN109218278B (zh) 安全规则的动态实现
US20200092322A1 (en) VALIDATING COMMANDS FOR HACKING AND SPOOFING PREVENTION IN AN INTERNET OF THINGS (IoT) COMPUTING ENVIRONMENT
US20210326294A1 (en) Edge component redirect for iot analytics groups
CN106375334A (zh) 一种分布式系统的认证方法
US10764399B2 (en) Customized web services gateway
US20130007866A1 (en) Migration across authentication systems
US9985980B1 (en) Entropy-based beaconing detection
US11418515B2 (en) Multi-vendor support for network access control policies
US10599680B2 (en) Reduction of volume of reporting data using multiple datasets
CN110505186A (zh) 一种安全规则冲突的识别方法、识别设备及存储介质
US20210286898A1 (en) Dataset origin anonymization and filtration

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200114

Address after: 610000 Chengdu City, Sichuan Province, China (Sichuan) Free Trade Pilot Area, No. 199 Tianfu Fourth Street, Chengdu High-tech Zone, 33 floors

Applicant after: Panovasic Co., Ltd.

Address before: 621000 Mianyang province high tech Zone, East Hing Road, No. 35 cotton

Applicant before: Sichuan Changhong Electrical Appliance Co., Ltd.

GR01 Patent grant
GR01 Patent grant