CN111314212B - 一种基于Netty与插件机制的API网关及控制方法 - Google Patents

一种基于Netty与插件机制的API网关及控制方法 Download PDF

Info

Publication number
CN111314212B
CN111314212B CN202010048489.5A CN202010048489A CN111314212B CN 111314212 B CN111314212 B CN 111314212B CN 202010048489 A CN202010048489 A CN 202010048489A CN 111314212 B CN111314212 B CN 111314212B
Authority
CN
China
Prior art keywords
request
plug
client
module
service
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
CN202010048489.5A
Other languages
English (en)
Other versions
CN111314212A (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.)
Qingmu Digital Technology Co ltd
Original Assignee
Qingmu Digital 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 Qingmu Digital Technology Co ltd filed Critical Qingmu Digital Technology Co ltd
Priority to CN202010048489.5A priority Critical patent/CN111314212B/zh
Publication of CN111314212A publication Critical patent/CN111314212A/zh
Application granted granted Critical
Publication of CN111314212B publication Critical patent/CN111314212B/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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于Netty与插件机制的API网关,包括请求接收模块、链路建立模块、插件模块以及业务模块;请求接收模块用于获取用户发送的接入集群请求;链路建立模块用于通过Netty服务层对接入集群请求的数据包进行解码生成请求实体和请求数据,将请求数据分配到特定的业务线程池,建立业务链路;插件模块用于通过预设的插件对请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至业务模块;业务模块用于根据符合预设条件的请求的类型,将符合预设条件的请求发送至对应的处理模块,以完成对用户请求的处理,通过应用Netty技术,实现了API网关的高并发连接模式,在更低的成本基础上支持更多的网络连接接入。

Description

一种基于Netty与插件机制的API网关及控制方法
技术领域
本发明涉及信息处理技术领域,尤其涉及一种基于Netty与插件机制的API网关及***。
背景技术
在现代分布式架构下,大型网站以及应用必然由多个类型的业务功能模块组成,一般应用分布式集群模式部署,为降低耦合度,必然会存在多个服务提供者,而每个类型的服务提供者的服务资源数量,也会随着整个***体量的增大而随之增长和变更。相对于远程服务,客户终端的请求可能需要从多个服务提供者中聚合数据,而内部服务的划分、结构随着时间的变化也有所改变,而服务的改变必然引起请求处理流程的改变,这为服务的统一管理带来了难度。
在互联网环境下,分布式服务集群对外暴露服务资源,需要考虑安全风险、访问控制等问题,而网关是集群的前置控制层,是集群的边缘服务,对外屏蔽内部集群的变动细节,本质上,是对终端访问信息流的控制,可以按需实现请求信息内部转换、负载均衡、统一鉴权、协议转换、监控检测等。
发明内容
本发明实施例的目的是提供一种基于Netty与插件机制的API网关,应用Netty技术,实现了API网关的高并发连接模式,在更低的成本基础上支持更多的网络连接接入。
为实现上述目的,本发明实施例提供了一种基于Netty与插件机制的API网关,包括以下步骤:
包括请求接收模块、链路建立模块、插件模块以及业务模块;
所述请求接收模块,用于获取用户发送的接入集群请求;
所述链路建立模块,用于通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;
所述插件模块,用于通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;
所述业务模块,用于根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
进一步的,所述链路建立模块包括接收单元和第一处理单元;
所述接收单元,用于在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;
所述第一处理单元,用于在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路。
进一步的,所述插件模块包括插件管理单元、过滤单元以及插件配置更新单元;
所述插件管理单元,用于在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;
所述过滤单元,用于将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;
所述插件配置更新单元,用于当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
进一步的,插件的配置数据包括插件的类型和插件的启用状态。
进一步的,所述业务模块包括第二处理单元和第三处理单元;
所述第二处理单元,用于将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;
所述第三处理单元,用于根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
作为本发明的优选实施例,本发明还提供了一种基于Netty与插件机制的API网关的控制方法,包括以下步骤:
获取用户发送的接入集群请求;
通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;
通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;
根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
进一步的,所述通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路,具体为:
在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;
在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路。
进一步的,所述通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块,具体为:
在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;
将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;
当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
进一步的,插件的配置数据包括插件的类型和插件的启用状态。
进一步的,所述根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理,具体为:
将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;
根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
实施本发明实施例,具有如下有益效果:
本发明提供一种基于Netty与插件机制的API网关,包括请求接收模块、链路建立模块、插件模块以及业务模块;请求接收模块用于获取用户发送的接入集群请求;链路建立模块用于通过Netty服务层对接入集群请求的数据包进行解码生成请求实体和请求数据,将请求数据分配到特定的业务线程池,建立业务链路;插件模块用于通过预设的插件对请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至业务模块;业务模块用于根据符合预设条件的请求的类型,将符合预设条件的请求发送至对应的处理模块,以完成对用户请求的处理,通过应用Netty技术,实现了API网关的高并发连接模式,在更低的成本基础上支持更多的网络连接接入。
附图说明
图1是本发明提供的基于Netty与插件机制的API网关的一种实施例的结构示意图;
图2为本发明实施例提供的Netty的Reactor并发模型示意图。
图3为本发明实施例提供的通过Netty技术实现插件机制的API网关整体架构图。
图4是本发明提供的基于Netty与插件机制的API网关的控制方法的一种实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
请参见图1,图1是本发明提供的基于Netty与插件机制的API网关的一种实施例的结构示意图。如图1所示,所述API网关包括请求接收模块、链路建立模块、插件模块以及业务模块;
所述请求接收模块,用于获取用户发送的接入集群请求;所述链路建立模块,用于通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;所述插件模块,用于通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;所述业务模块,用于根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
在请求接入集群后,由Netty服务层处理链接接入,对数据包进行解码生成请求实体,将数据分配到特定的业务线程池,建立业务链路。请求实体进入业务处理阶段后,GateWeb保证网络请求必须触发插件链执行,执行请求过滤的逻辑。管理员维护插件的类型、启用状态、执行顺序,以及规则信息,每个插件的执行会判断请求是否启用、是否吻合流量阈值,是否执行规则。每个插件的执行会根据请求的信息如下表所示:
GatePlugin
+插件标识:int
+插件类型:string
+启用状态:int
+插件名称:string
+执行顺序:int
+插件配置:string
+插件规则:string
然后作出计算判断,将不符合规则条件的请求过滤,直接返回失败提示;符合条件的请求会被转发到业务层,或者流转到下一个插件。转发至业务层的请求将会被业务层进行处理。
实施例2:
在本实施例中,所述链路建立模块包括接收单元和第一处理单元;
所述接收单元,用于在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;所述第一处理单元,用于在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路。
需要说明的是,Netty是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。在现代应用开发中总会面临一种场景——支持成千上万的并发客户端,也就是所谓的高性能***,要实现企业对高性能产品的渴望,开发人员除了要求超一流的编程技巧,还需要掌握几个复杂领域(网络编程、多线程处理和并发)的专业知识,而漫长的实践证明,直接使用Java底层的网络API编写网络程序,会是一个复杂的操作过程。而应用***研发的一个基本要求是,在更低的成本基础上,适应更高的吞吐量和可扩展性要求。Netty封装了复杂的底层网络API,并将其隐藏在一层易于使用的API之后,开发人员只要熟悉Netty使用指引,则只需实现复杂的业务流程,而网络底层交给Netty,便可实现高并发***。
请参见图2,图2为本发明实施例提供的Netty的Reactor并发模型,在本实施例中通过Netty实现并扩展了Reactor模型:
1)Acceptor主线程池是一个独立的NIO线程池,它用NIO的形式扮演网络链路中的Acceptor角色,又名AcceptorReactor。
2)程序启动后,会在Acceptor主线程池中随机选择一个线程作为Acceptor线程,用于绑定端口,接收客户端连接。
3)Acceptor线程接收到连接请求,会将请求交给AcceptorReactor的其他线程,以处理客户端的登录、握手和安全认证,从而建立业务链路。
实施例3:
在本实施例在,所述插件模块包括插件管理单元、过滤单元以及插件配置更新单元;
所述插件管理单元,用于在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;所述过滤单元,用于将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;所述插件配置更新单元,用于当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
需要说明的是,***模块化设计的核心思想是解耦,而模块与模块之间的设计,一般遵循基于接口编程的方式,接口是某个业务、功能的抽象,不同的接口有不同的实现,这满足***的功能可扩展性要求,而***运行时就必然需要对某个接口进行管理,如寻找接口的具体实现、管理具体接口实现的生命周期等,让***实现,根据实际需要启用、停止、扩展、或者替换功能的策略,是可拔插、热加载的一种实现。
插件是对现有干净***的一种扩展或者第三方实现。是***暴露出来的具体某个接口的一种实现,它的运行依赖现有干净***的资源,接受现有干净***的治理,所以本发明实施例通过Netty技术实现插件机制的AP I网关,如图3所示,图3为本发明实施例提供的通过Netty技术实现插件机制的AP I网关整体架构图。
作为本发明的优选实施例,网关是直接接收并发客户端网络连接的中间件,使用Netty处理网络通信部分,可以最大限度地利用服务器资源处理更多的客户端连接、处理更多的业务,降低业务阻塞发生的可能性。
在本实施例中,网关由管理服务和业务服务组成,将业务处理和数据维护分离。业务服务处理客户端连接,并转发客户端连接到业务服务层,业务服务从管理服务异步获取关于插件链的全部配置数据,配置数据包括:插件列表、每个插件的详细配置,根据配置数据治理插件,管理插件的生命周期,例如业务服务会根据插件的启用状态决定是否开启插件、会根据插件链的信息创建插件实体等。
在本发明实施例中,每一个请求都会被Netty转发到业务服务处理,业务服务保证请求都会经过所有已启用插件的过滤处理。
优选的,管理服务维护着网关配置数据,提供获取配置信息的接口层,业务服务本身并不保存数据,所有数据均来自同一个管理服务,业务服务无论部署多少个实例,数据都一致。
需要说明的是,在多实例部署模式下,多个业务服务通过HTTP或Socket方式访问管理服务开放的数据获取接口,每次都是获取相同的全量配置数据,也就是所有插件的配置信息,保证当配置信息发生更新时,能实时同步到各个业务服务,让配置及时生效。
其中,业务服务里,每个插件的缓存配置信息都是线程安全的,当某个插件的配置信息发生变更后,业务服务会及时更新该插件的缓存配置信息,插件运行过程中只需要读取最新的配置信息,就能实时应用。
实施例4:
在本实施例中,所述业务模块包括第二处理单元和第三处理单元;
所述第二处理单元,用于将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;所述第三处理单元,用于根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
在业务层链路正式建立后,会将请求转到IO子线程池的某个线程,由其处理IO读写、编码操作,最后根据请求类型的不同,将请求转到特定类型WorkThreadsPools,做具体的业务处理。
在Netty并发模型中,客户端的并发接入、底层Socket的读写、以及业务请求的处理,都是多线程化的异步操作,因此,Netty赋予了应用程序一项核心能力:可以以任意的顺序响应任意时间点产生的网络事件,可以在确定的资源里,不断复用计算机的线程资源,适应更高的吞吐量和可扩展性要求。
实施例5:
作为本发明的优选实施例,请参见图4,图4是本发明提供的基于Netty与插件机制的API网关的控制方法的一种实施例的流程示意图。如图4所示,该控制方法包括步骤S1至步骤S4,各步骤具体如下:
S1,获取用户发送的接入集群请求。
S2,通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路。
在本发明实施例中,步骤S2具体为:在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路。
S3,通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块。
在本发明实施例中,步骤S3具体为:在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
其中,插件的配置数据包括插件的类型和插件的启用状态。
S4,根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
在本发明实施例中,步骤S4具体为:将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
本发明提供的基于Netty与插件机制的API网关的控制方法,通过获取用户发送的接入集群请求;通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理,通过应用Netty技术,实现了API网关的高并发连接模式,在更低的成本基础上支持更多的网络连接接入。
采用本发明提供的实施例,具有以下有益效果:
1)完全使用java工业级计算机语言实现,通用性高。
2)使用Netty实现网络接入,单机4CoreCPU、16GRAM可以支持100万链接。
3)整体网关应用实现了热插拔,插件启停操作后,不需要重启应用,可用性提高。
4)单个网关业务服务异常停止后,服务重新接入集群,会重新拉取配置。
5)***分网关业务和网关管理后台,所有网关业务的配置数据,在配置后台统一管理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (8)

1.一种基于Netty与插件机制的API网关,其特征在于,包括请求接收模块、链路建立模块、插件模块以及业务模块;
所述请求接收模块,用于获取用户发送的接入集群请求;
所述链路建立模块,用于通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;所述链路建立模块包括接收单元和第一处理单元;所述接收单元,用于在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;所述第一处理单元,用于在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路;
所述插件模块,用于通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;
所述业务模块,用于根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
2.如权利要求1所述的基于Netty与插件机制的API网关,其特征在于,所述插件模块包括插件管理单元、过滤单元以及插件配置更新单元;
所述插件管理单元,用于在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;
所述过滤单元,用于将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;
所述插件配置更新单元,用于当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
3.如权利要求2所述的基于Netty与插件机制的API网关,其特征在于,插件的配置数据包括插件的类型和插件的启用状态。
4.如权利要求1所述的基于Netty与插件机制的API网关,其特征在于,所述业务模块包括第二处理单元和第三处理单元;
所述第二处理单元,用于将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;
所述第三处理单元,用于根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
5.一种如权利要求1-4任一项所述的基于Netty与插件机制的API网关的控制方法,其特征在于,包括以下步骤:
获取用户发送的接入集群请求;
通过Netty服务层对所述接入集群请求的数据包进行解码生成请求实体和请求数据,将所述请求数据分配到特定的业务线程池,建立业务链路;具体为:在Acceptor主线程池中随机选择一个线程作为Acceptor线程以绑定端口和接收客户端连接请求;在所述Acceptor线程接收到连接请求后,通过所述Acceptor主线程池的其他线程处理客户端的登录、握手以及安全认证,以建立业务链路;
通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块;
根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理。
6.如权利要求5所述的基于Netty与插件机制的API网关的控制方法,其特征在于,所述通过预设的插件对所述请求实体进行判断,将不符合预设条件的请求过滤,将符合预设条件的请求发送至所述业务模块,具体为:
在于客户端建立业务链路后,异步获取所有插件的配置数据,并根据所述所有插件的配置数据,管理插件的启用状态;
将客户端的每一个请求发送至所有处于开启状态的插件进行过滤处理;
当某个插件的配置信息发生变更后,实时更新该插件的缓存配置信息。
7.如权利要求6所述的基于Netty与插件机制的API网关的控制方法,其特征在于,插件的配置数据包括插件的类型和插件的启用状态。
8.如权利要求5所述的基于Netty与插件机制的API网关的控制方法,其特征在于,所述根据所述符合预设条件的请求的类型,将所述符合预设条件的请求发送至对应的处理模块,以完成对所述用户请求的处理,具体为:
将所述客户端的请求发送至IO子线程的任一线程中,以供该线程对所述客户端的请求进行读写和编码操作;
根据所述客户端的请求的请求类型,将所述客户端的请求发送至对应的WorkThreadsPools,以完成对所述客户端请求的处理。
CN202010048489.5A 2020-01-16 2020-01-16 一种基于Netty与插件机制的API网关及控制方法 Active CN111314212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010048489.5A CN111314212B (zh) 2020-01-16 2020-01-16 一种基于Netty与插件机制的API网关及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010048489.5A CN111314212B (zh) 2020-01-16 2020-01-16 一种基于Netty与插件机制的API网关及控制方法

Publications (2)

Publication Number Publication Date
CN111314212A CN111314212A (zh) 2020-06-19
CN111314212B true CN111314212B (zh) 2022-04-19

Family

ID=71161404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010048489.5A Active CN111314212B (zh) 2020-01-16 2020-01-16 一种基于Netty与插件机制的API网关及控制方法

Country Status (1)

Country Link
CN (1) CN111314212B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929210B (zh) * 2021-01-25 2023-04-18 城云科技(中国)有限公司 在WebFlux框架搭建的网关路由应用插件的方法、***及其应用
CN114666554B (zh) * 2022-05-23 2023-04-11 创意信息技术股份有限公司 一种边缘网关云服务管理***
CN115174342B (zh) * 2022-06-15 2024-03-08 阿里巴巴(中国)有限公司 网关的插件管理方法、装置及设备
CN117093639B (zh) * 2023-10-18 2024-01-26 北京安华金和科技有限公司 一种基于审计服务的套接字连接处理方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108429645A (zh) * 2018-03-05 2018-08-21 深圳乐信软件技术有限公司 一种api网关的配置方法、装置、存储介质及api网关
US10120734B1 (en) * 2016-08-29 2018-11-06 Equinix, Inc. Application programming interface and services engine with application-level multi-tenancy
CN110147915A (zh) * 2018-02-11 2019-08-20 陕西爱尚物联科技有限公司 一种资源配置的方法及其***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742505A (zh) * 2009-11-24 2010-06-16 广东宇天信通通信科技有限公司 提供多数据业务集成的***及方法
CN105635298B (zh) * 2016-01-12 2018-12-18 安徽科力信息产业有限责任公司 一种基于业务隔离原理的数据采集设备统一接入***
CN107154922A (zh) * 2016-03-04 2017-09-12 北京京东尚科信息技术有限公司 配置管理***及配置管理方法
CN106992908A (zh) * 2017-03-31 2017-07-28 上海斐讯数据通信技术有限公司 一种智能家居管理***及其管理方法
CN109379430B (zh) * 2018-11-30 2021-01-08 四川芯波智创物联技术有限公司 一种“物联网+”行业生态圈共享共盈平台
CN109672612A (zh) * 2018-12-13 2019-04-23 中国电子科技集团公司电子科学研究院 Api网关***
CN109618347B (zh) * 2019-02-17 2021-06-11 中国—东盟信息港股份有限公司 一种自动化分发业务请求的智能网关***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120734B1 (en) * 2016-08-29 2018-11-06 Equinix, Inc. Application programming interface and services engine with application-level multi-tenancy
CN110147915A (zh) * 2018-02-11 2019-08-20 陕西爱尚物联科技有限公司 一种资源配置的方法及其***
CN108429645A (zh) * 2018-03-05 2018-08-21 深圳乐信软件技术有限公司 一种api网关的配置方法、装置、存储介质及api网关

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《The Design and Realization of Embedded Gateway Based on WSN》;Ping Song;《2008 International Conference on Computer Science and Software Engineering》;20081222;全文 *
《基于异构网络的物联网智能家居***设计与实现》;张应昌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;全文 *
《基于异构计算的IPv4/IPv6互通并行处理技术研究》;张伟新;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160115;全文 *
基于Netty框架的数据通讯服务***的设计;龚鹏等;《无线通信技术》;20160315(第01期);全文 *
基于Netty高并发物联网服务器研究与设计;陈强等;《电子技术与软件工程》;20180406(第07期);全文 *

Also Published As

Publication number Publication date
CN111314212A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111314212B (zh) 一种基于Netty与插件机制的API网关及控制方法
US10552448B2 (en) Systems and methods for event driven object management and distribution among multiple client applications
US8468541B2 (en) Event driven sendfile
WO2021147288A1 (zh) 一种容器集群管理方法、装置及***
CN109542611A (zh) 数据库即服务***、数据库调度方法、设备及存储介质
JP2013507690A (ja) データ環境のためのセルフサービス構成
CN110968603B (zh) 一种数据访问方法及装置
CN105786603B (zh) 一种基于分布式的高并发业务处理***及方法
CN111865900A (zh) 基于rpc协议的跨网络区域代理访问方法及***
WO2023197874A1 (zh) 一种应用访问方法、装置、设备及介质
CN111064626A (zh) 配置更新方法、装置、服务器及可读存储介质
CN111897551B (zh) 一种云环境下快速克隆软件环境的平台及方法
CN114553693B (zh) 网关升级方法及装置
CN110543315B (zh) 一种kbroker分布式操作***、存储介质和电子设备
CN109766131A (zh) 基于多线程技术实现软件智能化自动升级的***及方法
CN106936643B (zh) 一种设备联动方法以及终端设备
CN115102999A (zh) DevOps***、服务提供方法、存储介质和电子装置
WO2020259326A1 (zh) 一种信号传输方法及装置
CN114077756A (zh) 基于区块链实现的信息化业务处理方法及***
CN114896258B (zh) 事务数据的同步方法、装置、计算机设备及存储介质
CN116614323B (zh) 一种基于Rclone的云存储企业网盘管理方法及***
CN117076508B (zh) 一种流数据处理***支持批数据处理的方法
US11768704B2 (en) Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling
CN114153565A (zh) 基于p2p技术实现镜像加速和预热方法及***
CN115866023A (zh) 一种接口超时时间自定义方法及装置

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