CN111431746B - 一种api网关迁移方法及系统 - Google Patents

一种api网关迁移方法及系统 Download PDF

Info

Publication number
CN111431746B
CN111431746B CN202010201265.3A CN202010201265A CN111431746B CN 111431746 B CN111431746 B CN 111431746B CN 202010201265 A CN202010201265 A CN 202010201265A CN 111431746 B CN111431746 B CN 111431746B
Authority
CN
China
Prior art keywords
gateway
old
new
certificate
app
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
CN202010201265.3A
Other languages
English (en)
Other versions
CN111431746A (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.)
Hangzhou Youzan Technology Co ltd
Original Assignee
Hangzhou Youzan 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 Hangzhou Youzan Technology Co ltd filed Critical Hangzhou Youzan Technology Co ltd
Priority to CN202010201265.3A priority Critical patent/CN111431746B/zh
Publication of CN111431746A publication Critical patent/CN111431746A/zh
Application granted granted Critical
Publication of CN111431746B publication Critical patent/CN111431746B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种API网关迁移方法及系统,涉及API网关领域,包括如下步骤:app请求认证代理获取凭证;认证代理判断app是否需要灰度配置,若是,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,返回第一凭证,若否,请求老的认证服务器,返回第二凭证;app获取凭证,请求网关代理判断是否需要请求新网关,若是,则将请求转给新网关,拿到新网关的返回结果,返回给app,若否,则将请求转给老网关,拿到老网关的返回结果,返回给app。本发明所提供的方法解决了新老网关系统的迁移成本问题。

Description

一种API网关迁移方法及系统
【技术领域】
本发明涉及API网关领域,具体涉及API网关迁移方法及系统。
【背景技术】
随着公司的发展,老的网关系统和认证服务器的模型可能会出现无法继续迭代的情况,所以开发人员需要重新开发新的网关系统和认证服务器,此时,则需要将老系统的应用迁移到新系统,由于新系统在设计之初,没有参考老系统的模型,所以要完全兼容原来的请求跟响应存在困难。如果不兼容的话,就要推动老系统的应用进行不兼容改造。
网关迁移本质上也是一次系统的升级。一般来说,升级分为兼容性的升级和不兼容性升级,大部分系统选择兼容性的升级,兼容性升级的劣势在于,兼容性升级会带来很强的历史包袱,因为模型被老系统的模型限制,且需要照顾到原来系统的很多特殊逻辑,很难得到一个新的清晰的领域模型。不兼容升级的方案,优势是可以重新设计整个模型,让新系统更加清晰,劣势是推动成本非常高。
【发明内容】
为解决前述问题,本发明提供了一种API网关迁移方法,解决新老网关系统的迁移成本问题。
为了达到上述目的,本发明采用如下技术方案:
一种API网关迁移方法,包括如下步骤:
app请求认证代理获取凭证;
认证代理判断app是否需要灰度配置,若是,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,返回第一凭证,若否,则请求老的认证服务器,返回第二凭证;
app获取凭证后,请求网关代理;
网关代理根据灰度配置以及第一凭证或第二凭证,判断是否需要请求新网关,若是,则将请求转给新网关,拿到新网关的返回结果,返回给app,若否,则将请求转给老网关,拿到老网关的返回结果,返回给app。
可选的,认证代理读取配置中心的灰度规则判断app是否需要灰度配置,如果app在灰度名单中,同时请求新的认证服务器和老的认证服务器,创建的新老凭证的映射保存在共享存储中;如果app不在灰度名单中,则请求老的认证服务器。
可选的,共享存储使用开源的Redis,以所述第一凭证为key。
可选的,所述第一凭证的位数和所述第二凭证的位数不同,网关代理从共享存储中获取新老凭证的映射,并从配置中心获取灰度配置。
可选的,新网关接收到请求后,执行新网关的核心处理流程,在核心处理流程的特定流程节点,判断该接口是否有插件,如果有,加载并运行插件,如果没有,则回到核心处理流程。
可选的,加载插件的逻辑包括本地模式和远程模式。
可选的,在本地模式下,插件不进行预加载和编译。
可选的,在远程模式下,插件存放在配置中心,插件进行预加载和编译。
可选的,在远程模式下,插件加载并运行插件的具体步骤包括:
app启动;读取配置中心的插件脚本并编译;注册变更回调,回调收到来自配置中心的变更通知后,重新获取插件脚本,编译后放在内存中。
本发明具有如下有益效果:
本发明提供了一个新老网关系统完全兼容的技术方案,不需要对老系统的应用进行不兼容改造,并且根据灰度配置判断是否请求新的认证服务器,卸下了现有技术中兼容性升级带来的沉重的历史包袱,提供了丰富的灰度特性来保证迁移的可靠性,有效降低了新老网关系统的迁移成本。
此外,本发明还提供了一种API网关迁移系统,包括:
认证代理,用以判断app是否需要灰度配置,若是,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,返回第一凭证,若否,则请求老的认证服务器,返回第二凭证;
网关代理,包括新网关和老网关;
配置中心,供认证代理读取灰度规则,以判断app是否需要灰度配置,供网关代理获取灰度配置,存放插件脚本;
共享存储,存放新老凭证的映射,使用开源的Redis,以所述第二凭证为key。
本发明所提供的API网关迁移系统的有益效果与前述API网关迁移方法的有益效果推理过程相似,在此不再赘述。
本发明的这些特点和优点将会在下面的具体实施方式以及附图中进行详细的揭露。本发明最佳的实施方式或手段将结合附图来详尽表现,但并非是对本发明技术方案的限制。另外,在每个下文和附图中出现的这些特征、要素和组件是具有多个,并且为了表示方便而标记了不同的符号或数字,但均表示相同或相似构造或功能的部件。
【附图说明】
下面结合附图对本发明作进一步说明:
图1为本发明实施例一的流程图;
图2为本发明实施例一中代理认证进行灰度控制的示意图;
图3为本发明实施例一中网关代理进行灰度控制的示意图;
图4为本发明实施例一插件运行的流程图;
图5为本发明实施例一插件加载的流程图。
【具体实施方式】
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
在本说明书中引用的“一个实施例”或“实例”或“例子”意指结合实施例本身描述的特定特征、结构或特性可被包括在本专利公开的至少一个实施例中。短语“在一个实施例中”在说明书中的各位置的出现不必都是指同一个实施例。
实施例:
如图1所示,本实施例提供一种API网关迁移方法,过代理的方式来实现流量的转发,将老网关的流量代理到新网关,并且通过配置中心来进行灰度控制,保证迁移过程的可靠性,通过插件的方式来实现兼容性,具体包括如下步骤:
app请求认证代理获取凭证。
如图2所示,认证代理读取配置中心的灰度规则,判断app是否需要灰度配置,如果app在灰度名单中,则需要灰度配置,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,保存在共享存储中,供网关代理查询使用。新老凭证的映射以后,返回第一凭证。共享存储使用开源的Redis,以第一凭证为key;如果app不在灰度名单中,则不需要灰度配置,请求老的认证服务器,返回第二凭证。
app获取凭证后,请求网关代理。
如图3所示,第一凭证的位数和第二凭证的位数不同,网关代理从配置中心获取灰度配置,根据灰度配置以及第一凭证或第二凭证,判断是否需要请求新网关,若是,则将请求转给新网关,网关代理从共享存储中获取新老凭证的映射,拿到新网关的返回结果,返回给app,若否,则将请求转给老网关,拿到老网关的返回结果,返回给app。
如图4所示,新网关接收到请求后,执行新网关的核心处理流程,在核心处理流程的特定流程节点,判断该接口是否有插件,如果有,加载并运行插件,如果没有,则回到核心处理流程。插件是一段动态编译的脚本,理论上可以兼容任意的特殊逻辑。
加载插件的逻辑包括本地模式和远程模式,在本地模式下,插件不进行预加载和编译,这样能够让插件的改动实时生效,加快调试的效率;在远程模式下,插件存放在配置中心,插件进行预加载和编译。因为配置中心有很好的预览功能,并且具有动态下发功能,因此在远端模式下,插件是预加载的。
如图5所示,在远程模式下,插件加载并运行插件的具体步骤包括:
app启动;读取配置中心的插件脚本并编译;注册变更回调,回调收到来自配置中心的变更通知后,重新获取插件脚本,编译后放在内存中。
本实施例提供了一个新老网关系统完全兼容的技术方案,不需要对老系统的应用进行不兼容改造,并且根据灰度配置判断是否请求新的认证服务器,卸下了现有技术中兼容性升级带来的沉重的历史包袱,提供了丰富的灰度特性来保证迁移的可靠性,有效降低了新老网关系统的迁移成本。
实施例二
本实施例提供了一种API网关迁移系统,应用于实施例一的API网关迁移方法,包括:
认证代理,用以判断app是否需要灰度配置,若是,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,返回第一凭证,若否,则请求老的认证服务器,返回第二凭证;
网关代理,包括新网关和老网关;
配置中心,供认证代理读取灰度规则,以判断app是否需要灰度配置,供网关代理获取灰度配置,存放插件脚本;
共享存储,存放新老凭证的映射,使用开源的Redis,以第二凭证为key。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。

Claims (10)

1.一种API网关迁移方法,其特征在于,所述API网关迁移方法包括如下步骤:
app请求认证代理获取凭证;
认证代理判断app是否需要灰度配置,若是,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,返回第一凭证,若否,则请求老的认证服务器,返回第二凭证;
app获取凭证后,请求网关代理;
网关代理根据灰度配置以及第一凭证或第二凭证,判断是否需要请求新网关,若是,则将请求转给新网关,拿到新网关的返回结果,返回给app,若否,则将请求转给老网关,拿到老网关的返回结果,返回给app。
2.根据权利要求1所述的API网关迁移方法,其特征在于,认证代理读取配置中心的灰度规则判断app是否需要灰度配置,如果app在灰度名单中,同时请求新的认证服务器和老的认证服务器,创建的新老凭证的映射保存在共享存储中;如果app不在灰度名单中,则请求老的认证服务器。
3.根据权利要求2所述的API网关迁移方法,其特征在于,共享存储使用开源的Redis,以所述第一凭证为key。
4.根据权利要求2所述的API网关迁移方法,其特征在于,所述第一凭证的位数和所述第二凭证的位数不同,网关代理从共享存储中获取新老凭证的映射,并从配置中心获取灰度配置。
5.根据权利要求2所述的API网关迁移方法,其特征在于,新网关接收到请求后,执行新网关的核心处理流程,在核心处理流程的特定流程节点,判断当前接口是否有插件,如果有,加载并运行插件,如果没有,则回到核心处理流程。
6.根据权利要求5所述的API网关迁移方法,其特征在于,加载插件的逻辑包括本地模式和远程模式。
7.根据权利要求6所述的API网关迁移方法,其特征在于,在本地模式下,插件不进行预加载和编译。
8.根据权利要求6所述的API网关迁移方法,其特征在于,在远程模式下,插件存放在配置中心,插件进行预加载和编译。
9.根据权利要求6所述的API网关迁移方法,其特征在于,在远程模式下,插件加载并运行插件的具体步骤包括:
app启动;读取配置中心的插件脚本并编译;注册变更回调,回调收到来自配置中心的变更通知后,重新获取插件脚本,编译后放在内存中。
10.一种API网关迁移系统,其特征在于,所述API网关迁移系统包括:
认证代理,用以判断app是否需要灰度配置,若是,同时请求新的认证服务器和老的认证服务器,创建新老凭证的映射,返回第一凭证,若否,则请求老的认证服务器,返回第二凭证;
网关代理,包括新网关和老网关;
配置中心,供认证代理读取灰度规则,以判断app是否需要灰度配置,供网关代理获取灰度配置,存放插件脚本;
共享存储,存放新老凭证的映射,使用开源的Redis,以所述第二凭证为key;
app获取所述认证代理返回的第一凭证或第二凭证后,请求网关代理;
所述网关代理根据所述配置中心提供的灰度配置以及所述认证代理返回的第一凭证或第二凭证,判断是否需要请求新网关,若是,则将请求转给新网关,拿到新网关的返回结果,返回给app,若否,则将请求转给老网关,拿到老网关的返回结果,返回给app。
CN202010201265.3A 2020-03-20 2020-03-20 一种api网关迁移方法及系统 Active CN111431746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010201265.3A CN111431746B (zh) 2020-03-20 2020-03-20 一种api网关迁移方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010201265.3A CN111431746B (zh) 2020-03-20 2020-03-20 一种api网关迁移方法及系统

Publications (2)

Publication Number Publication Date
CN111431746A CN111431746A (zh) 2020-07-17
CN111431746B true CN111431746B (zh) 2022-05-31

Family

ID=71548325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010201265.3A Active CN111431746B (zh) 2020-03-20 2020-03-20 一种api网关迁移方法及系统

Country Status (1)

Country Link
CN (1) CN111431746B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162858A (zh) * 2021-04-23 2021-07-23 中科云谷科技有限公司 流量转发系统、设备、方法以及物联网系统
CN113391851A (zh) * 2021-06-03 2021-09-14 网宿科技股份有限公司 一种代理控制方法、客户端设备及代理服务设备
CN113778569A (zh) * 2021-09-10 2021-12-10 平安普惠企业管理有限公司 基于人工智能的系统接口迁移方法、装置及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008151569A1 (fr) * 2007-06-11 2008-12-18 Huawei Technologies Co., Ltd. Procédé, dispositif et système d'acquisition de clé
CN101521577A (zh) * 2009-04-01 2009-09-02 中国电信股份有限公司 基于家庭网关的认证凭证统一管理方法、系统和家庭网关
WO2010017724A1 (zh) * 2008-08-11 2010-02-18 华为技术有限公司 一种辅助移动接入网关迁移的方法与装置
CN109587159A (zh) * 2018-12-20 2019-04-05 国家计算机网络与信息安全管理中心 一种综合工控安全测评系统与方法
CN109672612A (zh) * 2018-12-13 2019-04-23 中国电子科技集团公司电子科学研究院 Api网关系统
CN110874227A (zh) * 2018-08-29 2020-03-10 京东数字科技控股有限公司 实现于api网关的灰度发布的分流方法、系统和电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070083917A1 (en) * 2005-10-07 2007-04-12 Peterson Matthew T Apparatus system and method for real-time migration of data related to authentication
US9305163B2 (en) * 2013-08-15 2016-04-05 Mocana Corporation User, device, and app authentication implemented between a client device and VPN gateway
US9461969B2 (en) * 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US10027637B2 (en) * 2015-03-12 2018-07-17 Vormetric, Inc. Secure and control data migrating between enterprise and cloud services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008151569A1 (fr) * 2007-06-11 2008-12-18 Huawei Technologies Co., Ltd. Procédé, dispositif et système d'acquisition de clé
WO2010017724A1 (zh) * 2008-08-11 2010-02-18 华为技术有限公司 一种辅助移动接入网关迁移的方法与装置
CN101521577A (zh) * 2009-04-01 2009-09-02 中国电信股份有限公司 基于家庭网关的认证凭证统一管理方法、系统和家庭网关
CN110874227A (zh) * 2018-08-29 2020-03-10 京东数字科技控股有限公司 实现于api网关的灰度发布的分流方法、系统和电子设备
CN109672612A (zh) * 2018-12-13 2019-04-23 中国电子科技集团公司电子科学研究院 Api网关系统
CN109587159A (zh) * 2018-12-20 2019-04-05 国家计算机网络与信息安全管理中心 一种综合工控安全测评系统与方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于JA-SIG CAS统一认证平台(SSO)的设计与实现;李建佳等;《广东海洋大学学报》;20130615(第03期);全文 *
基于移动代理的分布式并行计算中间件设计与实现;侯海文等;《计算机应用》;20040528(第05期);全文 *

Also Published As

Publication number Publication date
CN111431746A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111431746B (zh) 一种api网关迁移方法及系统
US7823023B2 (en) Test framework for testing an application
JP5046161B2 (ja) ネットワーク・エッジ・コンピューティング向けのアプリケーション分割
CN112114979A (zh) 远程过程调用方法和装置
CN107450928B (zh) 一种基于缓存技术的混合开发方法
CN106775781B (zh) 减小应用安装包的方法、装置及电子设备
CN112416453B (zh) 一种面向信创环境下国产化外部设备统一数据集成的方法和存储设备
EP3866443A1 (en) Opc ua server, system operating using opc ua, and method of executing opc ua system
CN111414261B (zh) 一种分布式系统的跨网络调用方法、装置及相关组件
CN102841833B (zh) Pci资源遍历方法及系统
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN111596970A (zh) 动态库延迟加载方法、装置、设备和存储介质
CN114637969A (zh) 目标对象的鉴权方法及装置
CN115495065A (zh) 一种基于业务流控制的页面组件编排组合方法及装置
CN114253595A (zh) 代码仓库管理方法、装置、计算机设备及存储介质
CN111353117B (zh) 基于key-value型内存数据库的WEB跨域cookie管理系统
Mihajlović et al. Challenges of Integrating Machine Vision Algorithms Based on Franca IDL into Adaptive AUTOSAR Environment
CN116938983A (zh) 跨平台的汽车开放系统架构及其通信方法、车载电脑
CN116795560A (zh) 一种会话共享方法、装置及相关设备
CN112019608A (zh) 一种自动化web组件生成方法
CN112445850A (zh) 数据转换方法、装置、电子设备及可读介质
CN116095160A (zh) 一种服务发现方法、装置及电子设备和存储介质
CN116521149A (zh) 一种车辆服务脚本生成方法、装置、电子设备及存储介质
CN116431360A (zh) 在android系统中运行ohos服务的方法、智能终端、存储介质

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method and System for API Gateway Migration

Effective date of registration: 20231229

Granted publication date: 20220531

Pledgee: Hangzhou United Rural Commercial Bank Co.,Ltd. Dongyue sub branch

Pledgor: HANGZHOU YOUZAN TECHNOLOGY CO.,LTD.

Registration number: Y2023980074694

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20220531

Pledgee: Hangzhou United Rural Commercial Bank Co.,Ltd. Dongyue sub branch

Pledgor: HANGZHOU YOUZAN TECHNOLOGY CO.,LTD.

Registration number: Y2023980074694