CN110300056A - 一种实时响应式api网关及其请求处理方法 - Google Patents
一种实时响应式api网关及其请求处理方法 Download PDFInfo
- Publication number
- CN110300056A CN110300056A CN201910576330.8A CN201910576330A CN110300056A CN 110300056 A CN110300056 A CN 110300056A CN 201910576330 A CN201910576330 A CN 201910576330A CN 110300056 A CN110300056 A CN 110300056A
- Authority
- CN
- China
- Prior art keywords
- module
- gateway
- message
- api gateway
- client
- 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
Classifications
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及网关领域,公开了一种实时响应式API网关及其请求处理方法,以实现微服务架构下的API网关组件能够支持实时响应式的特性。本发明中的API网关包括网关模块和消息代理模块;所述消息代理模块用于与API网关后端的服务/微服务建立发布/订阅的通信模式,后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题的方式通知消息代理模块;所述网关模块与消息代理模块建立发布/订阅的消息通信模式,所述网关模块通过订阅的方式订阅消息代理模块中已有的所有主题,并将这些主题以可访问资源的方式暴露给客户端。本发明适用于构建微服务架构。
Description
技术领域
本发明涉及网关领域,特别涉及一种实时响应式API网关及其请求处理方法。
背景技术
随着移动互联网的不断深入,越来越多的公司和企业逐渐开始面向互联网,并且把面向客户的服务和业务也迁移到线上。在开发这些线上业务时,随着客户数量的不断增多,业务平台的架构也在不断地变化演进。从早期的单体应用架构逐渐转变为微服务架构,集群和分布式也成为了标配的技术。
在构建微服务架构的基础平台的过程中,API网关是必不可少的核心组件之一。API网关为一组微服务提供统一的接口,以便客户端无需知道微服务内部的所有细节。而目前IT业界现有的API网关,比如阿里云API网关、华为云API网关(APIG),它们的功能主要是为用户提供的高性能、高可用、高安全的API托管服务,帮助用户对外开放其部署在ECS、容器服务等公有云产品上的应用,提供完整的API发布、管理、维护生命周期管理。这些API网关产品都不具备实时响应式的特性,也即当服务/微服务发生变化,客户端不能实时得到通知,必须要客户端再次访问后才能得知服务发生了变化。
发明内容
本发明要解决的技术问题是:提供一种实时响应式API网关及其请求处理方法,以实现微服务架构下的API网关组件能够支持实时响应式的特性。
为解决上述问题,本发明采用的技术方案是:一种实时响应式API网关所述消息代理模块用于与API网关后端的服务/微服务建立发布/订阅的通信模式,后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题的方式通知消息代理模块;
所述网关模块与消息代理模块建立发布/订阅的消息通信模式,所述网关模块通过订阅的方式订阅消息代理模块中已有的所有主题,并将这些主题以可访问资源的方式暴露给客户端;
当客户端向API网关发送请求时,网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题,并以此消息主题与消息代理模块通信,消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务;
当消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块,网关模块将消息发送到客户端。
具体的,所述网关模块可包含输入输出处理模块、协议解析模块、编解码模块、事件模型模块、缓存模块、安全模块、拦截器模块、消息通信模块以及连接池模块;
输入输出处理模块负责网络I/O以及文件I/O的操作处理;
协议解析模块负责网络通信协议的解析;
编解码模块负责通信数据的编解码处理,所述编解码处理包括数据的序列化和反序列化;
事件模型模块负责对框架内部的各种事件进行处理;
缓存模块负责将后端服务/微服务返回的数据缓存到内存中,它在内存空间中划出一片区域,专用于API网关的数据的缓存;
安全模块负责API网关的安全防护处理;
拦截器模块负责拦截发送到API网关的请求;
消息通信模块负责网关模块与消息代理模块之间的消息通信;
连接池模块负责在内存中构建一个内存连接池,以加速各种处理过程。
进一步的,协议解析模块可解析的网络通信协议可包括HTTP协议、HTTPS协议、WebSocket协议以及消息通信协议。
进一步的,所述编解码处理还可包括数据的压缩/解压缩以及数据格式的相互转换。
进一步的,所述的各种事件可包括定时任务、计时器任务、网络连接以及I/O读写。
进一步的,所述缓存模块还具备缓存数据的管理功能,包括对缓存数据进行更新、过期、删除或添加。
进一步的,所述安全模块进行安全防护时,可提供基于令牌的身份验证、基本身份验证或基于IP地址的身份验证。
进一步的,所述安全模块还可以有白名单、黑名单机制。
进一步的,所述安全模块还支持定制安全的功能,包括根据设备ID的判断、根据地理位置的判断或者敏感数据的二次验证。
用于上述实时响应式API网关的请求处理方法,包括以下步骤:
步骤1:API网关启动,后端的服务/微服务启动;
步骤2:后端的服务/微服务与消息代理模块建立发布/订阅的通信模式,后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题的方式通知消息代理模块;
步骤3:网关模块与消息代理模块建立发布/订阅的通信模式,网关模块通过订阅的方式订阅消息代理中已有的所有主题,并将这些主题以可访问资源的方式暴露给客户端;
步骤4:客户端向API网关发送请求,请求身份验证,一旦通过验证,API网关和客户端建立连接;
步骤5:客户端向API网关发起具体的资源请求;
步骤6:网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题,并以此消息主题与消息代理模块通信;
步骤7:消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务;
步骤8:后端的服务/微服务根据订阅消息的主题,将所需的数据实时发送给消息代理模块;
步骤9:消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块;
步骤10:网关模块将消息发送到客户端。。
本发明的有益效果是:采用了本发明实施例的方案后,客户端可以实时获得所请求的资源。另外,当后端服务/微服务提供的资源发生了变更,比如商品的价格,客户端能够实时得到变更后的数据。这在实际的应用场景中非常有用。与传统的实现方法相比,API网关的吞吐量更大,性能更好,能够产生规模效益,节省服务器资源。而且这种方式有助于分布式系统架构的进一步简化,提升了系统整体的可靠性和稳定性。
附图说明
图1是实时响应式API网关的系统整体架构示意图。
图2是实时响应式API网关的网关模块的内部结构示意图。
图3是客户端、实时响应式API网关、服务/微服务之间的交互时序示意图。
具体实施方式
本发明提供了一种实时响应式API网关,以实现微服务架构下的API网关组件能够支持实时响应式的特性,进而改善客户端的操作效果,并且使得系统比较简洁。
为实现上述发明目的,本发明公开了如下技术方案:
一种实时响应式API网关,主要包含两大模块:网关模块和消息代理模块。
其中,客户端通过互联网与API网关的网关模块进行通信,使用的通信协议包括但不限于HTTP/S、WebSocket协议、HTTP/2等。
其中,API网关的网关模块与消息代理模块建立了消息通信方式,使用发布/订阅的消息通信模式。可以使用的通信协议有很多,但要求使用的通信协议必须支持发布/订阅的消息通信模式,比如MQTT协议。
其中,API网关的消息代理模块与后端的服务/微服务同样建立了消息通信方式,同样使用了发布/订阅的消息通信模式。可以使用的通信协议有很多,但要求使用的通信协议必须支持发布/订阅的消息通信模式,比如MQTT协议。
其中,消息代理模块即为提供消息通信的Broker服务,它可以作为消息通信服务器,它实现了发布/订阅的消息通信模式。
当客户端向API网关发送请求时,网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题,并以此消息主题与消息代理模块通信,消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务;
当消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块,网关模块将消息发送到客户端
其中,网关模块由多个功能模块构成,包含输入输出处理模块、协议解析模块、编解码模块、事件模型模块、缓存模块、安全模块、拦截器模块、消息通信模块、连接池模块。
其中,输入输出处理模块负责网络I/O、文件I/O的操作处理。更进一步地,I/O操作可以是阻塞式的,也可以是非阻塞式的。更进一步地,I/O操作可以是同步的操作,还可以是异步的操作。
其中,协议解析模块负责网络通信协议的解析。所述的协议至少包括HTTP协议、HTTPS协议、WebSocket协议,以及消息通信协议。更进一步地,所述的消息通信协议支持服务端推送事件SSE(Server-Sent Events)技术或发布/订阅(Publish/Subscribe)的消息通信模式的其中一种。
其中,编解码模块负责通信数据的编解码处理。所述的编解码处理包括数据的序列化和反序列化。更进一步地,编解码处理还可以包括数据的压缩和解压缩。更进一步地,编解码处理还可以包括数据格式的相互转换,如Protobuf格式、JSON格式、XML格式、二进制格式等的相互转换。
其中,事件模型模块负责对框架内部的各种事件进行处理。所述的各种事件包括定时任务、计时器任务、网络连接、I/O读写等,当事件发生则负责做相应的处理操作。所述的事件模型模块通常由事件收集模块、事件发送模块、事件处理器模块三部分组成。
其中,缓存模块负责将后端服务/微服务返回的数据缓存到内存中,它在内存空间中划出一片区域,专用于API网关的数据的缓存。更进一步地,所述的缓存模块还具备缓存数据的管理功能,对缓存数据进行更新、过期、删除、添加等操作,对缓存的扩容等。
其中,安全模块负责API网关的安全防护处理。安全模块实现了API网关的多种认证模式,比如基于令牌的身份验证、基本身份验证、基于IP地址的身份验证等功能。更进一步地,所述的安全模块还可以有白名单、黑名单机制。更进一步地,所述的安全模块还支持定制安全的功能,比如根据设备ID的判断、根据地理位置的判断、以及敏感数据的二次验证等功能。
其中,拦截器模块负责拦截发送到API网关的HTTP/HTTPS、WebSocket请求。
其中,消息通信模块负责网关模块与消息代理模块之间的消息通信。
其中,连接池模块负责在内存中构建一个内存连接池,以加速各种处理过程。
基于上述实时响应式API网关,本发明还公开了一种实时响应式API网关的请求处理方法,包括:
步骤1:API网关启动,后端的服务/微服务启动。
步骤2:后端的服务/微服务与API网关的消息代理建立发布/订阅的通信模式,将自己提供的访问资源告知API网关,也即后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题(Topic)的方式通知消息代理,消息代理记录这些消息主题。
步骤3:API网关的网关模块与消息代理模块建立发布/订阅的通信模式,通过订阅的方式订阅消息代理中已有的所有主题,并将这些主题以HTTP/S可访问资源的方式暴露给客户端。
步骤4:客户端向API网关发送请求,请求身份验证。其实施例有两种方式:
方式一,客户端向API网关发起HTTP/S请求,API网关对客户端进行身份验证。一旦通过验证,API网关和客户端建立WebSocket连接。
方式二,客户端向API网关发起HTTP/S请求,API网关对客户端进行身份验证。一旦通过验证,API网关和客户端建立HTTP/S长连接,且此时API网关在此长连接上使用SSE(Server-Sent Events)技术。
步骤5:客户端向API网关发起具体的资源请求。
步骤6:API网关的网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题(Topic),并以此消息主题与消息代理模块通信。
步骤7:API网关的消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务。
步骤8:后端的服务/微服务根据订阅消息的主题,将所需的数据实时发送给消息代理模块。
步骤9:消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块。
步骤10:API网关的网关模块将消息发送到客户端。其实施例同样有两种方式:
方式一,API网关的网关模块继续使用WebSocket协议将信息数据推送到客户端。
方式二,API网关的网关模块使用SSE技术,通过客户端与API网关保持的HTTP/S长连接,将信息数据以响应的方式发送回客户端。
更进一步地,API网关中的网关模块可以是单机服务的方式,也可以是集群部署的方式提供服务。
同样地,API网关中的消息代理模块可以是单机服务的方式,也可以是集群部署的方式提供服务。
故API网关中的网关模块和消息代理模块的数量可以根据实际使用场景的需要进行任意增减,它们之间是M:N的关系(M为1~多,N也为1~多)。
更进一步地,API网关还可以有超时熔断、流量控制、日志、数据加密、动态监控等功能。
更进一步地,API网关连接的后端服务/微服务的数量无限制,具体的约束取决于API网关的消息代理模块的吞吐能力。
更进一步地,API网关还可以提供管理控制台功能,方便运维人员进行管理操作。
实施例
为使本发明的目的、技术方案和优点更加清楚,下面结合实施例对本发明做进一步地详细描述。
一种实时响应式API网关,如图1所示,主要包含两大模块:网关模块和消息代理模块。
其中,客户端通过互联网与API网关的网关模块进行通信,使用的通信协议如101所示,包括但不限于HTTP/S、WebSocket协议、HTTP/2等。
其中,API网关的网关模块与消息代理模块建立了消息通信方式,如102所示,使用了发布/订阅的消息通信模式。可以使用的通信协议有很多,但要求使用的通信协议必须支持发布/订阅的消息通信模式,比如MQTT协议。
其中,API网关的消息代理模块与后端的服务/微服务同样建立了消息通信方式,如103所示,同样使用了发布/订阅的消息通信模式。可以使用的通信协议有很多,但要求使用的通信协议必须支持发布/订阅的消息通信模式,比如MQTT协议。
其中,消息代理模块即为提供消息通信的Broker服务,它可以作为消息通信服务器,它实现了发布/订阅的消息通信模式。
其中,网关模块由多个功能模块构成,如图2所示,网关模块包含输入输出处理模块、协议解析模块、编解码模块、事件模型模块、缓存模块、安全模块、拦截器模块、消息通信模块、连接池模块。
其中,输入输出处理模块负责网络I/O、文件I/O的操作处理。更进一步地,I/O操作可以是阻塞式的,也可以是非阻塞式的。更进一步地,I/O操作可以是同步的操作,还可以是异步的操作。
其中,协议解析模块负责网络通信协议的解析。所述的协议至少包括HTTP协议、HTTPS协议、WebSocket协议,以及消息通信协议。更进一步地,所述的消息通信协议支持服务端推送事件SSE(Server-Sent Events)技术或发布/订阅(Publish/Subscribe)的消息通信模式的其中一种。
其中,编解码模块负责通信数据的编解码处理。所述的编解码处理包括数据的序列化和反序列化。更进一步地,编解码处理还可以包括数据的压缩和解压缩。更进一步地,编解码处理还可以包括数据格式的相互转换,如Protobuf格式、JSON格式、XML格式、二进制格式等的相互转换。
其中,事件模型模块负责对框架内部的各种事件进行处理。所述的各种事件包括定时任务、计时器任务、网络连接、I/O读写等,当事件发生则负责做相应的处理操作。所述的事件模型模块通常由事件收集模块、事件发送模块、事件处理器模块三部分组成。
其中,缓存模块负责将后端服务/微服务返回的数据缓存到内存中,它在内存空间中划出一片区域,专用于API网关的数据的缓存。更进一步地,所述的缓存模块还具备缓存数据的管理功能,对缓存数据进行更新、过期、删除、添加等操作,对缓存的扩容等。
其中,安全模块负责API网关的安全防护处理。安全模块实现了API网关的多种认证模式,比如基于令牌的身份验证、基本身份验证、基于IP地址的身份验证等功能。更进一步地,所述的安全模块还可以有白名单、黑名单机制。更进一步地,所述的安全模块还支持定制安全的功能,比如根据设备ID的判断、根据地理位置的判断、以及敏感数据的二次验证等功能。
其中,拦截器模块负责拦截发送到API网关的HTTP/HTTPS、WebSocket请求。
其中,消息通信模块负责网关模块与消息代理模块之间的消息通信。
其中,连接池模块负责在内存中构建一个内存连接池,以加速各种处理过程。
一种实时响应式API网关的请求处理方法,如图3所示,包括:
步骤301:API网关启动,后端的服务/微服务启动。
步骤302:后端的服务/微服务与API网关的消息代理建立发布/订阅的通信模式,将自己提供的访问资源告知API网关,也即后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题(Topic)的方式通知消息代理,消息代理记录这些消息主题。
步骤303:API网关的网关模块与消息代理模块建立发布/订阅的通信模式,通过订阅的方式订阅消息代理中已有的所有主题,并将这些主题以HTTP/S可访问资源的方式暴露给客户端。
步骤304:客户端向API网关发送请求,请求身份验证。其实施例有两种方式:
方式一,客户端向API网关发起HTTP/S请求,API网关对客户端进行身份验证。一旦通过验证,API网关和客户端建立WebSocket连接。
方式二,客户端向API网关发起HTTP/S请求,API网关对客户端进行身份验证。一旦通过验证,API网关和客户端建立HTTP/S长连接,且此时API网关在此长连接上使用SSE(Server-Sent Events)技术。
步骤305:客户端向API网关发起具体的资源请求。
步骤306:API网关的网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题(Topic),并以此消息主题与消息代理模块通信。
步骤307:API网关的消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务。
步骤308:后端的服务/微服务根据订阅消息的主题,将所需的数据实时发送给消息代理模块。
步骤309:消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块。
步骤310:API网关的网关模块将消息发送到客户端。其实施例同样有两种方式:
方式一,API网关的网关模块继续使用WebSocket协议将信息数据推送到客户端。
方式二,API网关的网关模块使用SSE技术,通过客户端与API网关保持的HTTP/S长连接,将信息数据以响应的方式发送回客户端。
更进一步地,API网关中的网关模块可以是单机服务的方式,也可以是集群部署的方式提供服务。
同样地,API网关中的消息代理模块可以是单机服务的方式,也可以是集群部署的方式提供服务。
故API网关中的网关模块和消息代理模块的数量可以根据实际使用场景的需要进行任意增减,它们之间是M:N的关系(M为1~多,N也为1~多)。
更进一步地,API网关还可以有超时熔断、流量控制、日志、数据加密、动态监控等功能。
更进一步地,API网关连接的后端服务/微服务的数量无限制,具体的约束取决于API网关的消息代理模块的吞吐能力。
更进一步地,API网关还可以提供管理控制台功能,方便运维人员进行管理操作。
综上所述,为本发明提供的一种实时响应式API网关。与现有技术相比,本发明的有益效果是,采用了本发明实施例的方案后,客户端可以实时获得所请求的资源。另外,当后端服务/微服务提供的资源发生了变更,比如商品的价格,客户端能够实时得到变更后的数据。这在实际的应用场景中非常有用。与传统的实现方法相比,API网关的吞吐量更大,性能更好,能够产生规模效益,节省服务器资源。而且这种方式有助于分布式系统架构的进一步简化,提升了系统整体的可靠性和稳定性。
Claims (10)
1.一种实时响应式API网关,其特征在于,包括网关模块和消息代理模块;
所述消息代理模块用于与API网关后端的服务/微服务建立发布/订阅的通信模式,后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题的方式通知消息代理模块;
所述网关模块与消息代理模块建立发布/订阅的消息通信模式,所述网关模块通过订阅的方式订阅消息代理模块中已有的所有主题,并将这些主题以可访问资源的方式暴露给客户端;
当客户端向API网关发送请求时,网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题,并以此消息主题与消息代理模块通信,消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务;
当消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块,网关模块将消息发送到客户端。
2.如权利要求1所述一种实时响应式API网关,其特征在于,所述网关模块包含输入输出处理模块、协议解析模块、编解码模块、事件模型模块、缓存模块、安全模块、拦截器模块、消息通信模块以及连接池模块;
输入输出处理模块负责网络I/O以及文件I/O的操作处理;
协议解析模块负责网络通信协议的解析;
编解码模块负责通信数据的编解码处理,所述编解码处理包括数据的序列化和反序列化;
事件模型模块负责对框架内部的各种事件进行处理;
缓存模块负责将后端服务/微服务返回的数据缓存到内存中,它在内存空间中划出一片区域,专用于API网关的数据的缓存;
安全模块负责API网关的安全防护处理;
拦截器模块负责拦截发送到API网关的请求;
消息通信模块负责网关模块与消息代理模块之间的消息通信;
连接池模块负责在内存中构建一个内存连接池,以加速各种处理过程。
3.如权利要求2所述一种实时响应式API网关,其特征在于,协议解析模块可解析的网络通信协议包括HTTP协议、HTTPS协议、WebSocket协议以及消息通信协议。
4.如权利要求2所述一种实时响应式API网关,其特征在于,所述编解码处理还包括数据的压缩/解压缩以及数据格式的相互转换。
5.如权利要求2所述一种实时响应式API网关,其特征在于,所述的各种事件包括定时任务、计时器任务、网络连接以及I/O读写。
6.如权利要求2所述一种实时响应式API网关,其特征在于,所述缓存模块还具备缓存数据的管理功能,包括对缓存数据进行更新、过期、删除或添加。
7.如权利要求2所述一种实时响应式API网关,其特征在于,所述安全模块进行安全防护时,可提供基于令牌的身份验证、基本身份验证或基于IP地址的身份验证。
8.如权利要求2所述一种实时响应式API网关,其特征在于,所述安全模块还可以有白名单、黑名单机制。
9.如权利要求2所述一种实时响应式API网关,其特征在于,所述安全模块还支持定制安全的功能,包括根据设备ID的判断、根据地理位置的判断或者敏感数据的二次验证。
10.用于权利要求所述的一种实时响应式API网关的请求处理方法,其特征在于,包括以下步骤:
步骤1:API网关启动,后端的服务/微服务启动;
步骤2:后端的服务/微服务与消息代理模块建立发布/订阅的通信模式,后端的服务/微服务将自己能够向客户端提供的所有服务资源以主题的方式通知消息代理模块;
步骤3:网关模块与消息代理模块建立发布/订阅的通信模式,网关模块通过订阅的方式订阅消息代理中已有的所有主题,并将这些主题以可访问资源的方式暴露给客户端;
步骤4:客户端向API网关发送请求,请求身份验证,一旦通过验证,API网关和客户端建立连接;
步骤5:客户端向API网关发起具体的资源请求;
步骤6:网关模块实时解析客户端的请求,根据解析出的请求资源找到对应的消息主题,并以此消息主题与消息代理模块通信;
步骤7:消息代理模块接收到网关模块的订阅消息,实时将消息转发给后端的服务/微服务;
步骤8:后端的服务/微服务根据订阅消息的主题,将所需的数据实时发送给消息代理模块;
步骤9:消息代理模块接收到服务/微服务的消息,将消息实时转发给网关模块;
步骤10:网关模块将消息发送到客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910576330.8A CN110300056B (zh) | 2019-06-28 | 2019-06-28 | 一种实时响应式api网关及其请求处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910576330.8A CN110300056B (zh) | 2019-06-28 | 2019-06-28 | 一种实时响应式api网关及其请求处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110300056A true CN110300056A (zh) | 2019-10-01 |
CN110300056B CN110300056B (zh) | 2021-06-29 |
Family
ID=68029335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910576330.8A Active CN110300056B (zh) | 2019-06-28 | 2019-06-28 | 一种实时响应式api网关及其请求处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110300056B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086831A (zh) * | 2019-05-23 | 2019-08-02 | 智者四海(北京)技术有限公司 | 用于网关的鉴权方法 |
CN111049854A (zh) * | 2019-12-25 | 2020-04-21 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN111083199A (zh) * | 2019-11-23 | 2020-04-28 | 上海畅星软件有限公司 | 基于高并发、高可用性、服务可扩展的平台处理架构 |
CN111381981A (zh) * | 2020-03-04 | 2020-07-07 | 上海东普信息科技有限公司 | 小程序消息的推送方法、装置、设备及存储介质 |
CN111614727A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 监管沙盒架构、监管方法、装置及存储介质 |
CN111629029A (zh) * | 2020-04-17 | 2020-09-04 | 金蝶软件(中国)有限公司 | 服务发布方法和系统 |
CN111884917A (zh) * | 2020-07-28 | 2020-11-03 | 浪潮云信息技术股份公司 | 基于微服务的网关系统及网关动态路由方法 |
CN112202872A (zh) * | 2020-09-28 | 2021-01-08 | 华云数据控股集团有限公司 | 一种数据转发方法、api网关及消息服务系统 |
CN112416628A (zh) * | 2020-12-09 | 2021-02-26 | 中国船舶工业系统工程研究院 | 一种基于微服务治理的无人艇软件系统 |
CN112835911A (zh) * | 2021-03-10 | 2021-05-25 | 四川大学华西医院 | 一种适用于医疗信息平台的主数据管理系统 |
CN113378166A (zh) * | 2021-06-25 | 2021-09-10 | 北京百度网讯科技有限公司 | 调用操作系统的应用程序接口api的方法和装置 |
CN113556349A (zh) * | 2021-07-23 | 2021-10-26 | 海信集团控股股份有限公司 | 一种网关认证方法及装置、电子设备 |
CN114025016A (zh) * | 2021-10-18 | 2022-02-08 | 中国联合网络通信集团有限公司 | 一种数据转发方法、装置及存储介质 |
CN114244654A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 一种url的转发方法、装置、设备及计算机存储介质 |
CN115277602A (zh) * | 2022-06-22 | 2022-11-01 | 全知科技(杭州)有限责任公司 | 一种api网关流量镜像方法 |
CN115795400A (zh) * | 2023-02-07 | 2023-03-14 | 云启智慧科技有限公司 | 面向大数据分析的应用融合架构 |
US11663015B2 (en) | 2020-07-23 | 2023-05-30 | International Business Machines Corporation | Tracking asynchronous event processing |
WO2024098794A1 (zh) * | 2022-11-07 | 2024-05-16 | 中兴通讯股份有限公司 | 基于api代理的业务处理方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN206164554U (zh) * | 2016-08-31 | 2017-05-10 | 广州唯品会信息科技有限公司 | 业务信息处理系统 |
US9652314B2 (en) * | 2012-10-15 | 2017-05-16 | Alcatel Lucent | Dynamic application programming interface publication for providing web services |
CN107836007A (zh) * | 2015-07-31 | 2018-03-23 | 慧与发展有限责任合伙企业 | 发现并发布api信息 |
CN109582722A (zh) * | 2018-11-30 | 2019-04-05 | 珠海市新德汇信息技术有限公司 | 公安资源数据服务系统 |
-
2019
- 2019-06-28 CN CN201910576330.8A patent/CN110300056B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652314B2 (en) * | 2012-10-15 | 2017-05-16 | Alcatel Lucent | Dynamic application programming interface publication for providing web services |
CN107836007A (zh) * | 2015-07-31 | 2018-03-23 | 慧与发展有限责任合伙企业 | 发现并发布api信息 |
CN206164554U (zh) * | 2016-08-31 | 2017-05-10 | 广州唯品会信息科技有限公司 | 业务信息处理系统 |
CN109582722A (zh) * | 2018-11-30 | 2019-04-05 | 珠海市新德汇信息技术有限公司 | 公安资源数据服务系统 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086831A (zh) * | 2019-05-23 | 2019-08-02 | 智者四海(北京)技术有限公司 | 用于网关的鉴权方法 |
CN111083199A (zh) * | 2019-11-23 | 2020-04-28 | 上海畅星软件有限公司 | 基于高并发、高可用性、服务可扩展的平台处理架构 |
CN111049854B (zh) * | 2019-12-25 | 2021-12-14 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN111049854A (zh) * | 2019-12-25 | 2020-04-21 | 微民保险代理有限公司 | 一种服务请求的传输方法和装置 |
CN111381981A (zh) * | 2020-03-04 | 2020-07-07 | 上海东普信息科技有限公司 | 小程序消息的推送方法、装置、设备及存储介质 |
CN111381981B (zh) * | 2020-03-04 | 2023-07-11 | 上海东普信息科技有限公司 | 小程序消息的推送方法、装置、设备及存储介质 |
CN111629029A (zh) * | 2020-04-17 | 2020-09-04 | 金蝶软件(中国)有限公司 | 服务发布方法和系统 |
CN111614727A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 监管沙盒架构、监管方法、装置及存储介质 |
CN111614727B (zh) * | 2020-04-27 | 2022-08-02 | 深圳壹账通智能科技有限公司 | 监管沙盒架构、监管方法、装置及存储介质 |
US11663015B2 (en) | 2020-07-23 | 2023-05-30 | International Business Machines Corporation | Tracking asynchronous event processing |
CN111884917A (zh) * | 2020-07-28 | 2020-11-03 | 浪潮云信息技术股份公司 | 基于微服务的网关系统及网关动态路由方法 |
CN112202872A (zh) * | 2020-09-28 | 2021-01-08 | 华云数据控股集团有限公司 | 一种数据转发方法、api网关及消息服务系统 |
CN112416628A (zh) * | 2020-12-09 | 2021-02-26 | 中国船舶工业系统工程研究院 | 一种基于微服务治理的无人艇软件系统 |
CN112835911B (zh) * | 2021-03-10 | 2022-12-02 | 四川大学华西医院 | 一种适用于医疗信息平台的主数据管理系统 |
CN112835911A (zh) * | 2021-03-10 | 2021-05-25 | 四川大学华西医院 | 一种适用于医疗信息平台的主数据管理系统 |
CN113378166A (zh) * | 2021-06-25 | 2021-09-10 | 北京百度网讯科技有限公司 | 调用操作系统的应用程序接口api的方法和装置 |
CN113378166B (zh) * | 2021-06-25 | 2024-05-31 | 北京百度网讯科技有限公司 | 调用操作系统的应用程序接口api的方法和装置 |
CN113556349A (zh) * | 2021-07-23 | 2021-10-26 | 海信集团控股股份有限公司 | 一种网关认证方法及装置、电子设备 |
CN114025016A (zh) * | 2021-10-18 | 2022-02-08 | 中国联合网络通信集团有限公司 | 一种数据转发方法、装置及存储介质 |
CN114025016B (zh) * | 2021-10-18 | 2024-03-15 | 中国联合网络通信集团有限公司 | 一种数据转发方法、装置及存储介质 |
CN114244654A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 一种url的转发方法、装置、设备及计算机存储介质 |
CN114244654B (zh) * | 2021-12-20 | 2023-09-26 | 中国平安财产保险股份有限公司 | 一种url的转发方法、装置、设备及计算机存储介质 |
CN115277602A (zh) * | 2022-06-22 | 2022-11-01 | 全知科技(杭州)有限责任公司 | 一种api网关流量镜像方法 |
CN115277602B (zh) * | 2022-06-22 | 2023-07-28 | 全知科技(杭州)有限责任公司 | 一种api网关流量镜像方法 |
WO2024098794A1 (zh) * | 2022-11-07 | 2024-05-16 | 中兴通讯股份有限公司 | 基于api代理的业务处理方法、电子设备及存储介质 |
CN115795400A (zh) * | 2023-02-07 | 2023-03-14 | 云启智慧科技有限公司 | 面向大数据分析的应用融合架构 |
Also Published As
Publication number | Publication date |
---|---|
CN110300056B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300056A (zh) | 一种实时响应式api网关及其请求处理方法 | |
Zhao et al. | Management of API gateway based on micro-service architecture | |
US10057734B2 (en) | System and method for transmitting and receiving media messages | |
CN101938525B (zh) | 基于订阅/推送的缓存机制的无线企业应用的系统及方法 | |
CN102891877B (zh) | 实现终端应用的在线处理系统及方法 | |
CN109245295A (zh) | 基于mqtt协议的光伏电站监控系统 | |
CN108306877A (zh) | 基于node js的用户身份信息的验证方法、装置和存储介质 | |
CN101365119B (zh) | 用于网络视频监控系统所使用的录像负载均衡方法 | |
US9172765B2 (en) | Polling-based secure network message notification system and method with performance enhancing features | |
CN112015578B (zh) | 基于事前同步处理和事后异步处理的风控系统和方法 | |
CN101296507B (zh) | 一种实现列表信息同步的方法和系统以及服务器 | |
CN113179316A (zh) | 一种基于容器化设计的云边端协同计算系统和方法 | |
CN114253519B (zh) | 一种智慧园区安防管理系统及电子设备 | |
CN110213382A (zh) | 一种动态域名交互方法、装置 | |
CN112600881A (zh) | 提供物联网服务的方法、设备、服务器及存储介质 | |
CN1330158C (zh) | 一种移动通信多媒体网关系统及其多媒体处理方法 | |
van der Westhuizen et al. | Practical Comparison between COAP and MQTT-Sensor to Server level | |
Silva et al. | A concrete architecture for smart solutions based on IoT technologies | |
WO2012110079A1 (en) | Distribution of data processing | |
CN113259417B (zh) | SaaS模式下的软件集成方法、装置、设备和存储介质 | |
Bao et al. | A method and framework for quality of cloud services measurement | |
Kamilaris et al. | Building web-based infrastructures for smart meters | |
CN1330127C (zh) | 移动通讯多媒体信息源接口系统及方法 | |
CN100375464C (zh) | 网络互连时各终端的数据通信方法 | |
CN105306315B (zh) | 基于smb协议手机远程访问家庭网关设备的系统及方法 |
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 |