CN111787103A - 一种基于Kong网关的路径变更匹配方法 - Google Patents
一种基于Kong网关的路径变更匹配方法 Download PDFInfo
- Publication number
- CN111787103A CN111787103A CN202010620894.XA CN202010620894A CN111787103A CN 111787103 A CN111787103 A CN 111787103A CN 202010620894 A CN202010620894 A CN 202010620894A CN 111787103 A CN111787103 A CN 111787103A
- Authority
- CN
- China
- Prior art keywords
- path
- plug
- request
- match
- kong
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明特别涉及一种基于Kong网关的路径变更匹配方法。该基于Kong网关的路径变更匹配方法,消费者的请求不直接指向上游服务,而是指向Kong网关,由网关转发至上游服务,通过在Kong网关上启用Match_Url插件,插件在用户请求的路径上进行组合变更,然后转发至上游服务。该基于Kong网关的路径变更匹配方法,基于插件机制实现了不同系统不同版本的接口转换,能够对Kong上游服务地址进行变更匹配,以实现接口升级时对路径变化的兼容,能够避免原有代码的变更,进一步减少了应用接口升级对现有业务的影响,同时还能够动态指定路径变更内容,有利于实现系统的无感升级。
Description
技术领域
本发明涉及API网关技术领域,特别涉及一种基于Kong网关的路径变更匹配方法。
背景技术
Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。
Kong网关具有以下的特性:
可扩展性:通过简单地添加更多的服务器,可以轻松地进行横向扩展,这意味着您的平台可以在一个较低负载的情况下处理任何请求;
模块化:可以通过添加新的插件进行扩展,这些插件可以通过RESTful Admin API轻松配置;
在任何基础架构上运行:Kong网关可以在任何地方都能运行。您可以在云或内部网络环境中部署Kong,包括单个或多个数据中心设置,以及public,private或invite-onlyAPIs。
Kong网关作为一款基于OpenResty的高可用、易扩展的API(ApplicationProgramming Interface,应用程序编程接口)网关,能够提供当前使用广泛的Restful API来操作和配置管理网关。
在当前流行的微服务框架下,服务被拆的十分零散,虽然降低了耦合度但是也一定程度上提高了统一管理的难度,Kong网关作为API网关,能够提供全局的统一试图来管理鉴权、限流、日志、监控等功能。而Kong网关的插件机制,又让其高可用性得到进一步凸显。
在当前公共服务的复杂度空前提高、服务范围不断延申的趋势下,越来越多的公共服务通过接口对接的方式连接多个系统共同提供服务。而当系统分属不同厂商时,在系统服务升级时,经常会出现接口兼容问题,请求路径及请求消息的改变导致原有接口不可用。而要协调相关方同步进行变更,不仅费时费力,还面临相关方的配合态度问题。
基于上述问题,本发明提出了一种基于Kong网关的路径变更匹配方法,旨在利用Kong网关的插件机制,开发自定义匹配插件,实现请求路径的变更匹配。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于Kong网关的路径变更匹配方法。
本发明是通过如下技术方案实现的:
一种基于Kong网关的路径变更匹配方法,其特征在于:消费者的请求不直接指向上游服务,而是指向Kong网关,由网关转发至上游服务,通过在Kong网关上启用Match_Url插件,插件在用户请求的路径上进行组合变更,然后转发至上游服务。
本发明基于Kong网关的路径变更匹配方法,包括以下步骤:
第一步,消费者发起请求,请求指向Kong网关;
第二步,Match_Url插件在请求被代理之前执行;
第三步,Match_Url插件截取请求和上游服务路径进行拼接;
第四步,Match_Url插件对拼接后的路径进行处理
第五步,Match_Url插件将请求转发至新地址。
所述第一步中,自定义开发Match_Url插件,并在Kong网关中启用路径变更匹配Match_Url插件,然后启动Kong网关,定义Kong网关Service,并配置关联Kong网关Route。
所述Kong网关自定义插件标准基础模块包含handler.lua和schema.lua文件。
其中,Kong是一款基于OpenResty编写的高可用、易扩展的API网关;
OpenRestry是一个基于Nginx与Lua的高性能Web平台;
Nginx是一个高性能的HTTP和反向代理web服务器;
Lua一种脚本语言;
Service是Kong网关的服务实体,服务实体是每个上游服务的抽象;
Route:Kong网关的一套匹配客户端请求的规则;
消费者:请求发起方;
上游服务:服务响应方。
所述第三步中,Match_Url插件截取上游服务地址以及请求的服务路径,不包含IP和端口的请求路径,进行拼接。
所述第三步中,Match_Url插件获取请求的header(标头)参数,所述header参数包括制定请求路径处理方式的字符串和指定的字符串两个参数。
所述制定请求路径处理方式的字符串是截取屏蔽路径中与header参数指定字符串相同的部分或给路径添加header参数指定的字符串。
所述第四步中,Match_Url插件根据header参数指定操作类型,屏蔽拼接路径中的指定字符串或在拼接路径中将指定字符串添加进服务路径,形成新路径。
本发明的有益效果是:该基于Kong网关的路径变更匹配方法,基于插件机制实现了不同系统不同版本的接口转换,能够对Kong上游服务地址进行变更匹配,以实现接口升级时对路径变化的兼容,能够避免原有代码的变更,进一步减少了应用接口升级对现有业务的影响,同时还能够动态指定路径变更内容,有利于实现系统的无感升级。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明基于Kong网关的路径变更匹配方法示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该基于Kong网关的路径变更匹配方法,消费者的请求不直接指向上游服务,而是指向Kong网关,由网关转发至上游服务,通过在Kong网关上启用Match_Url插件,插件在用户请求的路径上进行组合变更,然后转发至上游服务。
该基于Kong网关的路径变更匹配方法,包括以下步骤:
第一步,消费者发起请求,请求指向Kong网关;
第二步,Match_Url插件在请求被代理之前执行;
第三步,Match_Url插件截取请求和上游服务路径进行拼接;
第四步,Match_Url插件对拼接后的路径进行处理
第五步,Match_Url插件将请求转发至新地址。
所述第一步中,自定义开发Match_Url插件,并在Kong网关中启用路径变更匹配Match_Url插件,然后启动Kong网关,定义Kong网关Service,并配置关联Kong网关Route。
所述Kong网关自定义插件标准基础模块包含handler.lua和schema.lua文件。
其中,Kong是一款基于OpenResty编写的高可用、易扩展的API网关;
OpenRestry是一个基于Nginx与Lua的高性能Web平台;
Nginx是一个高性能的HTTP和反向代理web服务器;
Lua一种脚本语言;
Service是Kong网关的服务实体,服务实体是每个上游服务的抽象;
Route:Kong网关的一套匹配客户端请求的规则;
消费者:请求发起方;
上游服务:服务响应方。
所述第三步中,Match_Url插件截取上游服务地址以及请求的服务路径,不包含IP和端口的请求路径,进行拼接。
所述第三步中,Match_Url插件获取请求的header(标头)参数,所述header参数包括制定请求路径处理方式的字符串和指定的字符串两个参数。
所述制定请求路径处理方式的字符串是截取屏蔽路径中与header参数指定字符串相同的部分或给路径添加header参数指定的字符串。
所述第四步中,Match_Url插件根据header参数指定操作类型,屏蔽拼接路径中的指定字符串或在拼接路径中将指定字符串添加进服务路径,形成新路径。
与目前的现有技术相比,该基于Kong网关的路径变更匹配方法,具有以下特点:
第一、通过对Kong上游服务地址进行变更匹配,实现了接口升级时对路径变化的兼容;
第二、通过Kong网关的插件实现了不同系统不同版本的接口转换,能够避免原有代码的变更,进一步减少应用接口升级对现有业务的影响;
第三、能够动态指定路径变更内容,有利于实现系统的无感升级。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种基于Kong网关的路径变更匹配方法,其特征在于:消费者的请求不直接指向上游服务,而是指向Kong网关,由网关转发至上游服务,通过在Kong网关上启用Match_Url插件,插件在用户请求的路径上进行组合变更,然后转发至上游服务。
2.根据权利要求1所述的基于Kong网关的路径变更匹配方法,其特征在于,包括以下步骤:
第一步,消费者发起请求,请求指向Kong网关;
第二步,Match_Url插件在请求被代理之前执行;
第三步,Match_Url插件截取请求和上游服务路径进行拼接;
第四步,Match_Url插件对拼接后的路径进行处理
第五步,Match_Url插件将请求转发至新地址。
3.根据权利要求2所述的基于Kong网关的路径变更匹配方法,其特征在于:所述第一步中,自定义开发Match_Url插件,并在Kong网关中启用路径变更匹配Match_Url插件,然后启动Kong网关,定义Kong网关Service,并配置关联Kong网关Route。
4.根据权利要求3所述的基于Kong网关的路径变更匹配方法,其特征在于:所述Kong网关自定义插件标准基础模块包含handler.lua和schema.lua文件。
5.根据权利要求2所述的基于Kong网关的路径变更匹配方法,其特征在于:所述第三步中,Match_Url插件截取上游服务地址以及请求的服务路径,不包含IP和端口的请求路径,进行拼接。
6.根据权利要求5所述的基于Kong网关的路径变更匹配方法,其特征在于:所述第三步中,Match_Url插件获取请求的header参数,所述header参数包括制定请求路径处理方式的字符串和指定的字符串两个参数。
7.根据权利要求6所述的基于Kong网关的路径变更匹配方法,其特征在于:所述制定请求路径处理方式的字符串是截取屏蔽路径中与header参数指定字符串相同的部分或给路径添加header参数指定的字符串。
8.根据权利要求7所述的基于Kong网关的路径变更匹配方法,其特征在于:所述第四步中,Match_Url插件根据header参数指定操作类型,屏蔽拼接路径中的指定字符串或在拼接路径中将指定字符串添加进服务路径,形成新路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620894.XA CN111787103A (zh) | 2020-07-01 | 2020-07-01 | 一种基于Kong网关的路径变更匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010620894.XA CN111787103A (zh) | 2020-07-01 | 2020-07-01 | 一种基于Kong网关的路径变更匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111787103A true CN111787103A (zh) | 2020-10-16 |
Family
ID=72760989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010620894.XA Pending CN111787103A (zh) | 2020-07-01 | 2020-07-01 | 一种基于Kong网关的路径变更匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787103A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612508A (zh) * | 2020-12-24 | 2021-04-06 | 新华三云计算技术有限公司 | Api网关中的api版本控制方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070280206A1 (en) * | 2006-05-31 | 2007-12-06 | Samsung Electronics Co., Ltd. | Method for consuming heterogeneous services on heterogeneous devices using script plugins |
CN109067914A (zh) * | 2018-09-20 | 2018-12-21 | 星环信息科技(上海)有限公司 | Web服务的代理方法、装置、设备及存储介质 |
CN109981748A (zh) * | 2019-03-05 | 2019-07-05 | 广州车行易科技股份有限公司 | 一种基于Kong网关实现的正向代理方法 |
CN110381101A (zh) * | 2018-04-13 | 2019-10-25 | 北京京东尚科信息技术有限公司 | Api网关控制系统、控制方法、设备和介质 |
CN111010417A (zh) * | 2019-10-17 | 2020-04-14 | 浪潮云信息技术有限公司 | 基于kong的数据格式转换方法、响应系统及方法 |
-
2020
- 2020-07-01 CN CN202010620894.XA patent/CN111787103A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070280206A1 (en) * | 2006-05-31 | 2007-12-06 | Samsung Electronics Co., Ltd. | Method for consuming heterogeneous services on heterogeneous devices using script plugins |
CN110381101A (zh) * | 2018-04-13 | 2019-10-25 | 北京京东尚科信息技术有限公司 | Api网关控制系统、控制方法、设备和介质 |
CN109067914A (zh) * | 2018-09-20 | 2018-12-21 | 星环信息科技(上海)有限公司 | Web服务的代理方法、装置、设备及存储介质 |
CN109981748A (zh) * | 2019-03-05 | 2019-07-05 | 广州车行易科技股份有限公司 | 一种基于Kong网关实现的正向代理方法 |
CN111010417A (zh) * | 2019-10-17 | 2020-04-14 | 浪潮云信息技术有限公司 | 基于kong的数据格式转换方法、响应系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612508A (zh) * | 2020-12-24 | 2021-04-06 | 新华三云计算技术有限公司 | Api网关中的api版本控制方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180287937A1 (en) | Processing data packets using a policy based network path | |
US10148727B2 (en) | Methods and systems for an end-to-end solution to deliver content in a network | |
CN110708393A (zh) | 用于传输数据的方法、装置和系统 | |
CN110784360A (zh) | 一种实现Kong声明式配置热更新的方法及系统 | |
CN110198334A (zh) | 基于对象存储服务的访问方法、装置和存储介质 | |
CN112988223B (zh) | 框架集成方法、装置、电子设备及存储介质 | |
CN113938533B (zh) | 应用间的通信方法、装置、电子设备及计算机可读介质 | |
US11481825B1 (en) | Transaction processing at edge servers in a content distribution network | |
US20160191296A1 (en) | Methods and systems for an end-to-end solution to deliver content in a network | |
CN114844941B (zh) | 基于Istio的接口级别服务治理方法及相关装置 | |
US20240126566A1 (en) | Dynamically reordering plugin execution order at an api gateway of a microservices application | |
WO2016086755A1 (zh) | 一种报文处理的方法和透明代理服务器 | |
Li et al. | 6G cloud-native system: Vision, challenges, architecture framework and enabling technologies | |
CN111726400A (zh) | 反向连接的方法、装置和服务端系统 | |
CN110996372A (zh) | 消息路由方法、装置、系统及电子设备 | |
CN110995705B (zh) | 一种远程安全访问虚拟机的方法 | |
US11632411B2 (en) | Method and apparatus for cascaded multi-input content preparation templates for 5G networks | |
CN115297098A (zh) | 边缘服务获取方法和装置、边缘计算系统、介质、设备 | |
CN113630464B (zh) | 分布式语音处理方法、系统、设备及存储介质 | |
CN111787103A (zh) | 一种基于Kong网关的路径变更匹配方法 | |
CN110545230A (zh) | 用于转发vxlan报文的方法和装置 | |
WO2024139412A1 (zh) | 应用流量综合管理方法、装置和电子设备 | |
CN113810448B (zh) | 云服务方法、部署方法、装置、电子设备和存储介质 | |
CN113746851B (zh) | 一种支持实时解析grpc请求的代理系统和方法 | |
CN114520780A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201016 |
|
RJ01 | Rejection of invention patent application after publication |