CN114244654A - 一种url的转发方法、装置、设备及计算机存储介质 - Google Patents

一种url的转发方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN114244654A
CN114244654A CN202111561398.2A CN202111561398A CN114244654A CN 114244654 A CN114244654 A CN 114244654A CN 202111561398 A CN202111561398 A CN 202111561398A CN 114244654 A CN114244654 A CN 114244654A
Authority
CN
China
Prior art keywords
url
service
micro
gateway
interface
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
Application number
CN202111561398.2A
Other languages
English (en)
Other versions
CN114244654B (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202111561398.2A priority Critical patent/CN114244654B/zh
Publication of CN114244654A publication Critical patent/CN114244654A/zh
Application granted granted Critical
Publication of CN114244654B publication Critical patent/CN114244654B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种URL的转发方法、装置、设备及计算机存储介质,其中,该方法应用于向微服务架构***迁移的单体架构***,所述方法包括:接收第一URL;基于第一URL映射表判断所述第一URL对应的服务是否为微服务;所述第一URL映射表包括微服务接口的第二URL与所述微服务接口的第三URL之间的映射关系,所述第二URL为所述微服务接口在微服务架构***中的URL,所述第三URL为所述微服务接口在单体架构***中的URL;在所述第一URL对应的服务为微服务的情况下,将所述第一URL转换为目标微服务接口的第二URL;将所述目标微服务接口的第二URL发送给第二网关;所述第二网关为所述微服务架构***的网关,所述第二URL用于所述第二网关调用所述目标微服务接口。

Description

一种URL的转发方法、装置、设备及计算机存储介质
技术领域
本申请涉及URL的转发领域,尤其涉及一种URL的转发方法、装置、设备及计算机存储介质。
背景技术
单体架构***是一个整体的架构***,整个***使用统一的技术栈,由于每个开发人员对单体架构***内服务接口的统一资源***(Uniform Resource Locator,URL)的命名习惯不同,导致单体架构***内各个服务接口的URL命名不规则。单体架构***一般在项目初期可快速开发使用,但随着***的业务复杂度提升和业务代码量的增加,***会越来越臃肿,耦合程度越来越高,这时候就面临着***升级,改造成微服务的过程。
微服务是将原本复杂的单体架构***中耦合的服务拆分成多个独立的小型服务,每个服务维护自身的业务逻辑、数据处理及部署,服务与服务之间通过简单的通信协议进行通信(比如restful API),每个微服务可用不同的语言编写,微服务接口的URL一般较为规则,以服务名为统一前缀。通过将单体架构***中耦合的服务解耦,并拆分成独立的微服务,可以提升***的整体性能,使得***具备更好的扩展性。
一般单体架构***改造成微服务***是循序渐进的,不会全部改造完再上线使用,并且在改造过程中,若前端不想改造服务接口的URL,或者前端改造URL的工作量太大,就会存在单体架构***中的URL无法映射到微服务架构***中URL的问题。
因此,如何在单体架构***改造过程中,实现新旧网关层的完美过渡,避免改造过程中的接口或新代码无法及时生效,还可以动态修改路由信息,随时更新路由或下线有问题的接口,避免脏数据的产生,是技术人员日益关注的问题。
发明内容
本申请实施例提供了一种URL的转发方法、装置、设备及计算机存储介质,解决了在单体架构***升级改造为微服务架构***的过程中,使用单体架构***中的URL来访问微服务接口,致使不能访问/调用微服务接口,从而不能使用微服务的问题。
第一方面,本申请实施例提供了一种URL的转发方法,包括:接收第一URL;基于第一URL映射表判断第一URL对应的服务是否为微服务;第一URL映射表包括微服务接口的第二URL与所述微服务接口的第三URL之间的映射关系,第二URL为微服务接口在微服务架构***中的URL,第三URL为微服务接口在单体架构***中的URL;在第一URL对应的服务为微服务的情况下,将第一URL转换为目标微服务接口的第二URL;将目标微服务接口的第二URL发送给第二网关;第二网关为该微服务架构***的网关,第二URL用于第二网关调用目标微服务接口。
在上述实施例中,单体架构***接收到第一URL后,在确定该URL为该单体架构***中的URL的情况下,单体架构***的网关根据其存储的第一URL映射表判断其接收的URL对应的服务接口是否为已改造成微服务的接口。在其接收的URL对应的接口为已改造成微服务接口的情况下,该单体架构***网关可以将其接收到的URL基于第一URL映射关系表转换成对应的微服务接口的URL,并将转换后的URL转发给微服务架构***的网关,使得微服务架构***的网关可以基于转换后的URL访问/调用对应的微服务接口,使得用户可以调用对应的服务,实现了在单体架构***在向微服务架构***改造的过程中,实现了网关层的平稳过渡,解决了在单体架构***升级改造为微服务架构***的过程中,使用单体架构***中的URL来访问微服务接口,致使不能访问/调用微服务接口,从而不能使用微服务的问题。
在一种可能实现的方式中,接收第一URL之前,还包括:将单体架构***中的部分服务根据服务类型拆分成多个微服务;配置多个微服务接口的第二URL;配置第一网关,所述第一网关为该单体架构***的网关,配置后的第一网关用于判断第一URL对应的服务是否为目标微服务;配置第二网关,配置后的第二网关用于基于第二URL调用目标微服务接口。这样,在接收到第一URL之后,在第一URL对应的服务为微服务的情况下,第一网关可以将第一URL转换对应的微服务架构***中的URL,并将转换后的URL发送给第二网关,从而实现第二网关对第一URL对应的微服务接口的调用,进而实现在单体架构***改造为微服务架构***的过程中,用户可以通过原来单体***中服务接口的URL来访问已被拆分为微服务的服务。
在一种可能实现的方式中,配置第一网关,包括:建立第一动态路由器;在第一动态路由器中注册第一Zuul配置组件和第一路由***;第一Zuul配置组件用于存储第一URL映射表,第一路由***用于基于第一URL映射表判断第一URL对应的服务是否为微服务;在第一动态路由器中配置第一服务监控组件,第一服务监控组件用于周期性地通过http接口调用第二网关,并获取微服务的第二URL,并将微服务的接口的第二URL与微服务接口的第三URL之间的对应关系刷写入第一URL映射表中。在上述实施例中,通过在第一动态路由器中注册第一Zuul配置组件和第一路由***使得第一动态路由器可以基于第一Zuul配置组件和第一路由***判断其接收到的第一URL对应的服务为单体架构***中的服务还是微服务,并根据判断结果将第一URL转换为第二URL并发送给第二网关,或者基于第一URL调用该单体架构***中对应的服务接口。
在一种可能实现的方式中,配置第一网关,还包括:在第一动态路由器中配置权限管理组件,该权限管理组件用于对第一URL发送端的网络设备进行服务接口访问的权限管理。这样,第一动态路由器可以拒绝不具备访问权限的网络设备访问服务接口,避免单体架构***中的服务或微服的数据泄露,从而引发信息安全问题。
在一种可能实现的方式中,配置第二网关,包括:建立第二动态路由器;在第二动态路由器中注册第二Zuul配置组件和第二路由***;第二Zuul配置组件包括第二URL映射表,第二URL映射表包括微服务接口的第二URL与微服务接口对应的标识信息之间的映射关系,或者第二URL映射表包括微服务接口的第二URL、微服务接口的第三URL以及微服务接口对应的标识信息三者之间的映射关系,第二路由***用于基于第二URL映射表和第二URL调用目标微服务接口;在第二动态路由器中配置第二服务监控组件,第二服务监控组件用于监控微服务的第二URL生成状态,在检测到单体架构***中的服务被拆分成微服务的情况下,动态更新第二URL映射表。
在上述实施例中,通过在第二动态路由器中注册第二Zuul配置组件和第二路由***,使得第二动态路由器可以基于第二Zuul配置组件确定第二URL对应的具体微服务接口,并通过第二路由***调用该微服务接口,从而实现用户使用该微服务在未被从单体架构***中拆分之前的URL,来访问该微服务的接口。
在一种可能实现的方式中,基于第一URL映射表判断第一URL对应的服务是否为微服务之前,还包括:获取第一URL发送端网络设备的IP地址;基于URL接口访问权限表判断该网络设备是否存在访问第一URL对应的服务接口的权限;URL接口访问权限表包括具有访问第一URL对应的服务接口权限的IP地址信息;在判断为是的情况下,基于第一URL映射表判断第一URL对应的服务是否为微服务。这样,第一动态路由器可以拒绝不具备访问权限的网络设备访问服务接口,避免单体架构***中的服务或微服的数据泄露,从而引发信息安全问题。
在一种可能实现的方式中,基于第一URL映射表判断第一URL对应的服务是否为微服务之前,还包括:判断第一URL是否为该单体架构***中的URL;若判断为是,基于第一URL映射表判断第一URL对应的服务是否为微服务;若判断为否,调用默认路由。
第二方面,本申请实施例提供了一种URL的转发装置,该装置包括:接收模块、判断模块、转换模块以及转发模块,其中:
接收模块,用于接收第一URL;
判断模块,用于基于第一URL映射表判断所述第一URL对应的服务是否为微服务;
转换模块,用于将所述第一URL转换为目标微服务接口的第二URL;
转发模块,用于将所述第二URL发送给第二网关。
在一种可能实现的方式中,所述URL的转发装置,还包括:
拆分模块,用于将单体架构***中的部分服务根据服务类型拆分成多个微服务;
URL配置模块,用于配置多个微服务接口的第二URL;
第一配置模块,用于配置第一网关;
第二配置模块,用于配置第二网关。
在一种可能实现的方式中,所述第一配置模块,还包括:
第一路由模块,用于第一动态路由器;
第一注册模块,用于第一动态路由器中注册第一Zuul配置组件和第一路由***;
第一监控注册模块,用于在第一动态路由器中配置第一服务监控组件。
在一种可能实现的方式中,所述第一配置模块,还包括:
权限配置模块,用于在第一动态路由器中配置权限管理组件。
在一种可能实现的方式中,所述第二配置模块,包括:
第二路由模块,用于建立第二动态路由器;
第二注册模块,用于在第二动态路由器中注册第二Zuul配置组件和第二路由***;
第二监控注册模块,用于在第二动态路由器中配置第二服务监控组件。
在一种可能实现的方式中,所述URL的转发装置,还包括:
IP地址获取模块,用于获取第一URL发送端网络设备的IP地址;
权限判断模块,用于基于URL接口访问权限表判断该网络设备是否存在访问第一URL对应的服务接口的权限。
在一种可能实现的方式中,所述URL的转发装置,还包括:
URL判断模块,用于判断第一URL是否为该单体架构***中的URL;
路由调用模块,用于调用默认路由。
第三方面,本申请实施例提供了一种URL的转发设备,该设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如下步骤:接收第一URL;基于第一URL映射表判断第一URL对应的服务是否为微服务;在第一URL对应的服务为微服务的情况下,将第一URL转换为目标微服务接口的第二URL;将目标微服务接口的第二URL发送给第二网关。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备接收第一URL之前,还包括:将单体架构***中的部分服务根据服务类型拆分成多个微服务;配置多个微服务接口的第二URL;配置第一网关;配置第二网关,配置后的第二网关用于基于第二URL调用目标微服务接口。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备配置第一网关,包括:建立第一动态路由器;在第一动态路由器中注册第一Zuul配置组件和第一路由***;在第一动态路由器中配置第一服务监控组件。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备配置第一网关,还包括:在第一动态路由器中配置权限管理组件。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备配置第二网关,包括:建立第二动态路由器;在第二动态路由器中注册第二Zuul配置组件和第二路由***;在第二动态路由器中配置第二服务监控组件。
在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备基于第一URL映射表判断第一URL对应的服务是否为微服务之前,还包括:获取第一URL发送端网络设备的IP地址;基于URL接口访问权限表判断该网络设备是否存在访问第一URL对应的服务接口的权限;在判断为是的情况下,基于第一URL映射表判断第一URL对应的服务是否为微服务。在一种可能实现的方式中,所述处理器调用该计算机指令以使得该设备基于第一URL映射表判断第一URL对应的服务是否为微服务之前,还包括:判断第一URL是否为该单体架构***中的URL;若判断为是,基于第一URL映射表判断第一URL对应的服务是否为微服务;若判断为否,调用默认路由。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在URL的转发设备上运行时,使得该设备执行如第一方面或第一方面的任意一种可能实现的方式所述的方法。
附图说明
图1是本申请实施例提供的一种电路结构示意图;
图2是本申请实施例提供的一种URL的转发方法的流程图;
图3是本申请实施例提供的一种对第一网关进行配置的流程图;
图4是本申请实施例提供的一种示例性预设界面图;
图5是本申请实施例提供的一种对第二网关进行配置的流程图;
图6是本申请提供的一种URL的转发装置的结构示意图;
图7是本申请实施例提供的一种URL的转发设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“***”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地***、分布式***和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它***交互的互联网)的信号通过本地和/或远程进程来通信。
单体架构***是一个整体的架构***,它是将整个***的所有功能单元都部署到同一个进程中,在单体架构***中,各个服务之间具有很强的耦合性,因此,当单体架构***中的某个服务出现问题时,可能造成整个单体架构***中的所有服务都不能正常工作,或者,当需要更改单体架构***中某个服务接口的URL时,也需要将单体架构***中所有服务接口的URL进行更改,这就造成,当要对单体架构***进行***升级时,会耗费大量的人力、物力。
为了方便理解,可以采用电路结构中各组件的关系来对单体架构***中各服务的关系进行举例说明。如图1所示,单体架构***中的服务A、服务B以及服务C就像电路中灯1、灯2以及灯3,这三个电灯是串联关系,当其中一个电灯熄灭,另外两个电灯也会也会熄灭,单体架构***中各个服务之间的关系也是这样,当服务A不能工作时,服务B和服务C也不能正常工作。且随着***的业务复杂度不断提升以及业务代码量的增加,单体架构***会越来越臃肿,耦合程度会越来越高。因此,需要将单体架构***中各个功能模块或服务进行解耦合,使得各个服务或者各个功能模块之间能够相对独立地运行,以提高***的工作性能。将单体架构***中各个服务或功能模块进行解耦合的过程就是将单体架构***改造成微服务架构***的过程。
微服务是将原本复杂的单体架构***中多个具有强耦合性的服务拆分成多个独立的微服务,每个微服务维护自身的业务逻辑、数据处理及部署,微服务与微服务之间通过简单的通信协议进行通信(比如restful API),每个微服务可用不同的语言编写,微服务接口的URL一般较为规则,以服务名为统一前缀。微服务架构***中各个服务之间的关系可以理解为电路中各个并联组件的关系,微服务之间或各功能模块之间相对独立,这极大提高了***的工作效率。
一般单体架构***改造成微服务***的过程是循序渐进的,不可能全部改造完再上线使用,并且在改造过程中,若在前端未对该单体架构***服务接口的URL进行改造,就会存在单体架构***的URL无法映射到微服务接口的URL的问题。
为了解决单体架构***在升级改造成微服务***架构的过程中,单体架构***中的服务接口被改造成微服务接口,使得用户使用单体架构***的URL来访问/调用已被改造成微服务的接口时,由于单体架构***不能将其接收的URL映射为微服务接口的URL,从而造成用户无法访问微服务接口的问题,本申请实施例提供了一种URL的转发方法,该方法包括:单体架构***的网关层接收到用户发送的URL后,在确定该URL为该单体架构***中的URL的情况下,单体架构***的网关根据其存储的第一URL映射表判断其接收的URL对应的服务接口是否为已改造成微服务的接口。在其接收的URL对应的接口为已改造成微服务接口的情况下,该单体架构***网关可以将其接收到的URL基于第一URL映射关系表转换成对应的微服务接口的URL,并将转换后的URL转发给微服务架构***的网关,微服务架构***的网关基于转换后的URL访问/调用对应的微服务接口,使得用户可以调用对应的服务。
下面,结合图2,对本申请实施例提供的一种URL的转发方法进行介绍,请参见图2,图2是本申请实施例提供的一种URL的转发方法的流程图,具体流程如下:
步骤S201:第一网关接收第一URL。
具体地,第一网关为单体架构***的网关,第一URL可以为单体架构***中的URL,单体架构***中的URL包括单体架构***中未被拆分成微服务的服务接口的URL,和拆分为微服务的服务接口在单体架构***中的URL。例如,如图3所示,在单体架构***中,服务A、服务B、服务C、服务D被耦合到一个功能模块,这三个服务对应的接口的URL分别为URL_A、URL_B、URL_C、URL_D,当服务A和服务B被拆分成微服务后,服务A和服务B这两个服务在微服务架构***中的接口的URL分别为URL_A1、URL_B1,因此,图3的单体架构***中的URL包括未被拆分成微服务的服务C和服务D的接口URL(URL_C和URL_D),以及被拆分成微服务的服务A、服务B的接口在该单体架构***中的URL(URL_A和URL_B)。
可选地,在第一网关接收第一URL之前,可以对第一网关进行配置,对第一网关的配置过程如图3所示。请参见图3,图3是本申请实施例提供的一种对第一网关进行配置的流程图,具体流程如下:
步骤S301:在第一网关中新建第一动态路由器。
具体地,第一动态路由器(DynamicRoutesProcessor)用于调用服务接口或路由转发,即:当第一URL对应的服务为单体架构***中的服务时,第一动态路由器调用第一URL对应的服务接口,当第一URL对应的服务为微服务时,第一动态路由器将第一URL转换为其对应的微服务接口的URL,并将转换后的URL发送给微服务架构***的网关。
步骤S302:将所述第一动态路由器注册成***组件,并在所述***组件中注册第一Zuul配置组件和第一路由***。
具体地,第一Zuul配置组件用于存储第一URL映射表,在第一URL映射表中存储微服务接口的URL与其在单体架构***中URL的对应关系。示例性的,第一URL映射表的形式可以如表1所示:
表1
第二URL 第三URL 服务标识号
URL_A URL_A1 A
URL_B URL_B1 B
…… …… ……
URL_N URL_N1 N
其中,第二URL为微服务接口在微服务架构***中的URL,第三URL为该微服务在未被拆分为微服务之前,该服务的服务接口在单体架构***中的URL,服务标识号是各个服务的标识信息,具备唯一性。
第一路由***用于基于第一Zuul配置组件中存储的第一URL映射表,基于第一URL调用服务接口或进行路由转发。在第一网关接收到第一URL之后,若第一CompositeRouteLocator判断该第一URL对应的服务接口为当前单体架构***中未被拆分成微服务的服务接口,第一CompositeRouteLocator基于第一URL调用该服务接口。若第一CompositeRouteLocator判断该第一URL对应的服务接口为该单体架构***中已被拆分为微服务的接口,第一CompositeRouteLocator可以基于第一URL映射表,将第一URL转换成该微服务的接口在微服务***架构中对应的URL(第二URL),并将转换后的URL发送给微服务架构***的网关。
步骤S303:在第一Zuul配置组件中配置默认路由。
具体地,若单体架构***的第一网关接收到的URL为错误的URL,或者是第一网关不能识别的URL时,第一网关可以调用预先配置好的第一路由,从而在电子设备上显示预设界面。示例性的,预设界面可以如图4所示,图4所示的界面用于提示用户调用服务出错。
步骤S304:在第一动态路由器中配置第一服务监控组件。
具体地,该第一服务监控组件用于周期性地通过http接口调用微服务架构***的网关,并获取已迁移到微服务架构***中的服务接口的第二URL,并将微服务***架构中微服务接口的第二URL与该微服务接口的第三URL之间的对应关系刷写入第一Zuul配置组件的第一URL映射表中,完成对第一Zuul配置组件中的第一URL映射表的动态刷新。
应当理解的是,步骤S304可以在步骤S303之前执行,也可以在步骤S303之后执行,也可以和步骤S303同时执行,本申请实施例对此不做限制。
可选地,可以在第一动态路由器中配置权限管理组件,该权限管理组件用于对接收的URL的发送端设备进行权限管理,第一网关接收到第一URL后,权限管理组件可以根据第一URL获取发送端设备的IP地址,并基于存储在权限管理组件中的URL接口访问权限表判断发送端网络设备是否具有访问第一URL对应的服务接口的权限。若权限管理组件判断出发送端的网络设备不具有访问第一URL对应的服务的权限,权限管理组件可以调用默认路由,显示如图4所示的预设界面;若权限管理组件判断出发送端设备具有访问第一URL对应的服务的权限,第一动态路由器执行步骤S202。示例性的,URL接口访问权限表的形式可以如表2所示:
表2
Figure BDA0003420626800000101
其中,授权IP地址为标识有访问对应URL服务接口权限的IP地址。例如,在表2中,仅有IP-1对应的网络设备和IP-2对应的网络设备可以访问URL_1对应的服务接口,仅有IP-1对应的网络设备和IP-3对应的网络设备可以访问URL_2对应的服务接口,仅有IP-2对应的网络设备和IP-4对应的网络设备可以访问URL_N对应的服务接口。
通过上述图3实施例中的配置方法对单体架构***的第一网关进行配置,单体架构***的第一网关可以判断出其接收的第一URL地址对应的服务是否已经被改造成微服务,若被改造成微服务,可以将该第一URL地址转换为该微服务接口的第二URL,并将该第二URL发送给微服务架构***的网关。
步骤S202:第一网关基于第一URL映射表判断所述第一URL对应的服务是否为微服务。
具体地,第一网关在接收到第一URL后,根据其存储的第一URL映射表判断第一URL地址对应的服务是否被改造成微服务。若未被改造成微服务,第一网关基于第一URL调用该服务的接口,从而实现用户对该服务的访问和调用,若被改造成微服务,第一网关基于第一URL映射表将第一URL转换为该微服务的接口的第二URL,并将转换后的URL发送给微服务架构***的网关,以便微服务架构***的网关可以基于转换后URL调用相应的微服务接口,实现用户对微服务接口的访问和调用。
步骤S203:在判断出所述第一URL对应的服务为微服务的情况下,第一网关将所述第一URL转换为目标微服务接口的第二URL。
具体地,所述目标微服务为第一URL对应的微服务,所述第二URL为目标微服务接口在微服务架构***中的URL。
步骤S204:第一网关将所述目标微服务接口的第二URL转发给第二网关。
具体地,所述第二网关为微服务架构***的网关,所述目标微服务接口为第一URL对应的微服务的接口。
在一种可能实现的方式中,第一网关将所述目标微服务接口的第二URL转发给第二网关之后,第二网关可以基于第二URL调用目标微服务接口,从而实现用户对目标微服务的访问和调用。
可选地,在第二网关基于第二URL调用目标微服务接口之前,可以对第二网关进行配置,对第二网关的配置过程如图5所示。请参见图5,图5是本申请实施例提供的一种对第二网关进行配置的流程图,具体流程如下:
步骤S501:在第二网关中新建第二动态路由器。
具体地,第二动态路由器(DynamicRoutesProcessor)用于接收单体架构***的第一网关发送的第二URL,并基于第二URL调用目标微服务接口,从而访问和调用目标微服务。
步骤S502:将所述第二动态路由器注册成***组件,并在该***组件中注册第二Zuul配置组件和第二路由***。
具体地,第二Zuul配置组件用于存储第二URL映射表,第二映射表可以包括每个微服务接口的第二URL与该微服务标识信息的映射关系,也可以包括微服务接口的第二URL、微服务接口的第三URL以及微服务的标识信息三者之间的映射关系;其中,第三URL为第二URL对应的微服务接口在单体架构***中对应URL。第二路由***用于基于所述第二URL映射表和第一网关发送的第二URL调用与第二URL对应的微服务接口。
步骤S503:在第二Zuul配置组件中配置默认路由。
具体地,当第二网关接收的第二URL为错误的URL,或者第二网关接收的第二URL为不能识别的URL时,第二网关可以调用该默认路由,从而在电子设备上显示预设的界面。示例性的,预设界面可以如上述图4所示,图4所示的界面用于提示用户调用服务出错。
步骤S504:在第二动态路由器中配置第二服务监控组件。
具体地,第二服务监控组件用于监控微服务的第二URL生成状态,若监控到存在新的服务从单体架构***中被拆解成微服务,且该微服务的接口被配置了第二URL,该服务监控组件可以将第二URL与该微服务标识信息的映射关系,或者将该微服务接口的第二URL、该微服务接口的第三URL以及该微服务的标识信息三者之间的映射关系刷写入第二URL映射表中,从而实现对第二URL映射表的动态更新。
应当理解的是,步骤S504可以在步骤S503之前执行,也可以在步骤S503之后执行,也可以和步骤S503同时执行,本申请实施例对此不做限制。
通过上述图5实施例中的配置方法对微服务架构***的第二网关进行配置,第二网关可以基于其接收的第二URL调用目标微服务的接口,从而实现用户对目标微服务的访问和调用。
在一种可能实现的方式中,可以在判断出所述第一URL对应的服务接口为微服务接口的情况下,第一网关可以第一URL转发给第二网关,第二网关基于其存储的第二URL映射表,将第一URL转化为第二URL,并基于第二URL调用目标微服务。
本申请实施例,单体架构***接收到第一URL后,在确定该URL为该单体架构***中的URL的情况下,单体架构***的网关根据其存储的第一URL映射表判断其接收的URL对应的服务接口是否为已改造成微服务的接口。在其接收的URL对应的接口为已改造成微服务接口的情况下,该单体架构***网关可以将其接收到的URL基于第一URL映射关系表转换成对应的微服务接口的URL,并将转换后的URL转发给微服务架构***的网关,使得微服务架构***的网关可以基于转换后的URL访问/调用对应的微服务接口,使得用户可以调用对应的服务,实现了在单体架构***在向微服务架构***改造的过程中,实现了网关层的平稳过渡,解决了在单体架构***升级改造为微服务架构***的过程中,使用单体架构***中的URL来访问微服务接口,致使不能访问/调用微服务接口,从而不能使用微服务的问题。
请参见图6,图6为本申请提供的一种URL的转发装置的结构示意图。需要说明的是,图6所示的URL的转发装置,用于执行本申请图2所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示,经参照本申请图2所示的实施例。该URL的转发装置60可包括:接收模块601、判断模块602、转换模块603以及转发模块604。其中:
接收模块601,用于接收第一URL;
判断模块602,用于基于第一URL映射表判断所述第一URL对应的服务是否为微服务;
转换模块603,用于将所述第一URL转换为目标微服务接口的第二URL;
转发模块604,用于将所述第二URL发送给第二网关。
在一种可能实现的方式中,所述URL的转发装置60,还包括:
拆分模块,用于将单体架构***中的部分服务根据服务类型拆分成多个微服务;
URL配置模块,用于配置多个微服务接口的第二URL;
第一配置模块,用于配置第一网关;
第二配置模块,用于配置第二网关。
在一种可能实现的方式中,所述第一配置模块,还包括:
第一路由模块,用于第一动态路由器;
第一注册模块,用于第一动态路由器中注册第一Zuul配置组件和第一路由***;
第一监控注册模块,用于在第一动态路由器中配置第一服务监控组件。
在一种可能实现的方式中,所述第一配置模块,还包括:
权限配置模块,用于在第一动态路由器中配置权限管理组件。
在一种可能实现的方式中,所述第二配置模块,包括:
第二路由模块,用于建立第二动态路由器;
第二注册模块,用于在第二动态路由器中注册第二Zuul配置组件和第二路由***;
第二监控注册模块,用于在第二动态路由器中配置第二服务监控组件。
在一种可能实现的方式中,所述URL的转发装置60,还包括:
IP地址获取模块,用于获取第一URL发送端网络设备的IP地址;
权限判断模块,用于基于URL接口访问权限表判断该网络设备是否存在访问第一URL对应的服务接口的权限。
在一种可能实现的方式中,所述URL的转发装置60,还包括:
URL判断模块,用于判断第一URL是否为该单体架构***中的URL;
路由调用模块,用于调用默认路由。
请参见图7,图7为本申请实施例提供的一种URL的转发设备的结构示意图。如图7所示,该URL的转发设备70包括:至少一个处理器701、存储器702。可选的,该URL的转发设备还可包括网络接口703,所述处理器701、网络接口703以及存储器702通过内部总线704相互连接。其中,所述处理器701、存储器702以及网络接口703之间可以交互数据,网络接口703受所述处理器701的控制用于收发消息,存储器702用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器702存储的程序指令。其中,处理器701被配置用于调用所述程序指令执行上述URL的转发方法。
所述存储器702可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器702也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储器702还可以包括上述种类的存储器的组合。
所述处理器701可以是中央处理器(central processing unit,CPU)。在一个实施例中,所述处理器701还可以是图形处理器(Graphics Processing Unit,GPU)。所述处理器701也可以是由CPU和GPU的组合。
在一个可能的实现方式中,所述存储器702用于存储程序指令。所述处理器701调用该计算机指令以使得该设备,执行以下步骤:接收第一URL;基于第一URL映射表判断第一URL对应的服务是否为微服务;在第一URL对应的服务为微服务的情况下,将第一URL转换为目标微服务接口的第二URL;将目标微服务接口的第二URL发送给第二网关。
在一种可能实现的方式中,所述处理器701调用该计算机指令以使得该设备接收第一URL之前,还包括:将单体架构***中的部分服务根据服务类型拆分成多个微服务;配置多个微服务接口的第二URL;配置第一网关;配置第二网关,配置后的第二网关用于基于第二URL调用目标微服务接口。
在一种可能实现的方式中,所述处理器701调用该计算机指令以使得该设备配置第一网关,包括:建立第一动态路由器;在第一动态路由器中注册第一Zuul配置组件和第一路由***;在第一动态路由器中配置第一服务监控组件。
在一种可能实现的方式中,所述处理器701调用该计算机指令以使得该设备配置第一网关,还包括:在第一动态路由器中配置权限管理组件。
在一种可能实现的方式中,所述处理器701调用该计算机指令以使得该设备配置第二网关,包括:建立第二动态路由器;在第二动态路由器中注册第二Zuul配置组件和第二路由***;在第二动态路由器中配置第二服务监控组件。
在一种可能实现的方式中,所述处理器701调用该计算机指令以使得该设备基于第一URL映射表判断第一URL对应的服务是否为微服务之前,还包括:获取第一URL发送端网络设备的IP地址;基于URL接口访问权限表判断该网络设备是否存在访问第一URL对应的服务接口的权限;在判断为是的情况下,基于第一URL映射表判断第一URL对应的服务是否为微服务。
在一种可能实现的方式中,所述处理器701调用该计算机指令以使得该设备基于第一URL映射表判断第一URL对应的服务是否为微服务之前,还包括:判断第一URL是否为该单体架构***中的URL;若判断为是,基于第一URL映射表判断第一URL对应的服务是否为微服务;若判断为否,调用默认路由。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种URL的转发方法,其特征在于,应用于向微服务架构***迁移的单体架构***,所述方法包括:
接收第一URL;
基于第一URL映射表判断所述第一URL对应的服务是否为微服务;所述第一URL映射表包括微服务接口的第二URL与所述微服务接口的第三URL之间的映射关系,所述第二URL为所述微服务接口在微服务架构***中的URL,所述第三URL为所述微服务接口在单体架构***中的URL;
在所述第一URL对应的服务为微服务的情况下,将所述第一URL转换为目标微服务接口的第二URL;
将所述目标微服务接口的第二URL发送给第二网关;所述第二网关为所述微服务架构***的网关,所述第二URL用于所述第二网关调用所述目标微服务接口。
2.如权利要求1所述的方法,其特征在于,所述接收第一URL之前,还包括:
将所述单体架构***中的部分服务根据服务类型拆分成多个微服务;
配置所述多个微服务接口的第二URL;
配置第一网关,所述第一网关为所述单体架构***的网关,配置后的第一网关用于判断所述第一URL对应的服务是否为目标微服务;
配置所述第二网关,配置后的第二网关用于基于所述第二URL调用目标微服务接口。
3.如权利要求2所述的方法,其特征在于,所述配置第一网关,包括:
建立第一动态路由器;
在所述第一动态路由器中注册第一Zuul配置组件和第一路由***;所述第一Zuul配置组件用于存储所述第一URL映射表,所述第一路由***用于基于所述第一URL映射表判断所述第一URL对应的服务是否为微服务;
在所述第一动态路由器中配置第一服务监控组件,所述第一服务监控组件用于周期性地通过http接口调用所述第二网关,并获取微服务的第二URL,并将所述微服务的接口的第二URL与所述微服务接口的第三URL之间的对应关系刷写入所述第一URL映射表中。
4.如权利要求3所述的方法,其特征在于,所述配置第一网关,还包括:
在所述第一动态路由器中配置权限管理组件,所述权限管理组件用于对所述第一URL发送端的网络设备进行服务接口访问的权限管理。
5.如权利要求2所述的方法,其特征在于,所述配置所述第二网关,包括:
建立第二动态路由器;
在所述第二动态路由器中注册第二Zuul配置组件和第二路由***;所述第二Zuul配置组件包括第二URL映射表,所述第二URL映射表包括微服务接口的第二URL与所述微服务接口对应的标识信息之间的映射关系,或者所述第二URL映射表包括所述微服务接口的第二URL、所述微服务接口的第三URL以及所述微服务接口对应的标识信息三者之间的映射关系,所述第二路由***用于基于所述第二URL映射表和所述第二URL调用所述目标微服务接口;
在所述第二动态路由器中配置第二服务监控组件,所述第二服务监控组件用于监控微服务的第二URL生成状态,在检测到所述单体架构***中的服务被拆分成微服务的情况下,动态更新所述第二URL映射表。
6.如权利要求1所述的方法,其特征在于,所述基于第一URL映射表判断所述第一URL对应的服务是否为微服务之前,还包括:
获取所述第一URL发送端网络设备的IP地址;
基于URL接口访问权限表判断所述网络设备是否存在访问所述第一URL对应的服务接口的权限;所述URL接口访问权限表包括具有访问所述第一URL对应的服务接口权限的IP地址信息;
在判断为是的情况下,基于第一URL映射表判断所述第一URL对应的服务是否为微服务。
7.如权利要求1所述的方法,其特征在于,所述基于第一URL映射表判断所述第一URL对应的服务是否为微服务之前,还包括:
判断所述第一URL是否为所述单体架构***中的URL;
若判断为是,基于第一URL映射表判断所述第一URL对应的服务是否为微服务;
若判断为否,调用默认路由。
8.一种URL的转发装置,其特征在于,包括:
接收模块,用于接收第一URL;
判断模块,用于基于第一URL映射表判断所述第一URL对应的服务是否为微服务;
转换模块,用于将所述第一URL转换为目标微服务接口的第二URL;
转发模块,用于将所述第二URL发送给第二网关。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-7任意一项所述的方法。
CN202111561398.2A 2021-12-20 2021-12-20 一种url的转发方法、装置、设备及计算机存储介质 Active CN114244654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111561398.2A CN114244654B (zh) 2021-12-20 2021-12-20 一种url的转发方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111561398.2A CN114244654B (zh) 2021-12-20 2021-12-20 一种url的转发方法、装置、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN114244654A true CN114244654A (zh) 2022-03-25
CN114244654B CN114244654B (zh) 2023-09-26

Family

ID=80759208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111561398.2A Active CN114244654B (zh) 2021-12-20 2021-12-20 一种url的转发方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN114244654B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190019A (zh) * 2022-07-04 2022-10-14 四川虹美智能科技有限公司 一种不修改终端的云端架构升级方法
CN117270819A (zh) * 2023-11-20 2023-12-22 北京美络克思科技有限公司 支持单体架构兼容微服务架构的服务设计方法及***、介质、设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097494A1 (zh) * 2011-12-31 2013-07-04 华为数字技术(成都)有限公司 统一资源定位符url的过滤方法及装置
CN109981561A (zh) * 2019-01-17 2019-07-05 华南理工大学 单体架构***迁移到微服务架构的用户认证方法
CN110300056A (zh) * 2019-06-28 2019-10-01 四川长虹电器股份有限公司 一种实时响应式api网关及其请求处理方法
CN112165507A (zh) * 2020-08-27 2021-01-01 福建摩尔软件有限公司 单Web项目支持多服务架构的方法、装置、设备和介质
CN112491948A (zh) * 2020-10-12 2021-03-12 大家信科有限责任公司 非侵入式的单体应用微服务化方法、装置及计算机设备
US20210240551A1 (en) * 2020-01-31 2021-08-05 EMC IP Holding Company LLC Tracking application programming interface requests in a cloud computing system
CN113422686A (zh) * 2021-06-24 2021-09-21 平安国际智慧城市科技股份有限公司 网关层鉴权方法、***、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097494A1 (zh) * 2011-12-31 2013-07-04 华为数字技术(成都)有限公司 统一资源定位符url的过滤方法及装置
CN109981561A (zh) * 2019-01-17 2019-07-05 华南理工大学 单体架构***迁移到微服务架构的用户认证方法
CN110300056A (zh) * 2019-06-28 2019-10-01 四川长虹电器股份有限公司 一种实时响应式api网关及其请求处理方法
US20210240551A1 (en) * 2020-01-31 2021-08-05 EMC IP Holding Company LLC Tracking application programming interface requests in a cloud computing system
CN112165507A (zh) * 2020-08-27 2021-01-01 福建摩尔软件有限公司 单Web项目支持多服务架构的方法、装置、设备和介质
CN112491948A (zh) * 2020-10-12 2021-03-12 大家信科有限责任公司 非侵入式的单体应用微服务化方法、装置及计算机设备
CN113422686A (zh) * 2021-06-24 2021-09-21 平安国际智慧城市科技股份有限公司 网关层鉴权方法、***、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴侠;艾芳菊;: "基于微服务架构的众筹***", 湖北大学学报(自然科学版), no. 01 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190019A (zh) * 2022-07-04 2022-10-14 四川虹美智能科技有限公司 一种不修改终端的云端架构升级方法
CN117270819A (zh) * 2023-11-20 2023-12-22 北京美络克思科技有限公司 支持单体架构兼容微服务架构的服务设计方法及***、介质、设备

Also Published As

Publication number Publication date
CN114244654B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
CN110191164B (zh) 分布式服务接入***及方法
CN110351283B (zh) 一种数据传输方法、装置、设备及存储介质
CN113572838B (zh) 基于Kubernetes的网络访问方法、装置、设备及介质
CN114244654A (zh) 一种url的转发方法、装置、设备及计算机存储介质
CN110389936A (zh) 一种启动小程序的方法、设备和计算机存储介质
CN113141405B (zh) 服务访问方法、中间件***、电子设备和存储介质
CN112398936B (zh) 一种基于Kubernetes的多网卡容器实现方法及***
CN111510330B (zh) 接口管理装置、方法及存储介质
CN107577629B (zh) 一种数据接口处理方法、装置、服务器及介质
CN109104368B (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN112612595A (zh) 微服务调用关系建立方法、装置、计算机设备和存储介质
US11057242B2 (en) Address system
CN112104640A (zh) 网关的数据处理方法、装置、设备及可读存储介质
CN110730197A (zh) 一种服务发现方法和***
CN113779452B (zh) 数据处理方法、装置、设备及存储介质
CN113360386A (zh) 交换芯片驱动测试方法、装置、电子设备和存储介质
CN110784510A (zh) 目标服务节点接入总线的方法、服务节点的信息交互方法
CN110798358A (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN116647552A (zh) 异构微服务集群中服务处理方法及***、终端及存储介质
CN112905273A (zh) 一种服务调用方法和装置
CN110311936B (zh) 客户端之间的通讯方法、装置、电子设备及存储介质
CN112738181A (zh) 集群外部ip接入的方法、装置及服务器
CN107528797B (zh) 数据处理方法、装置及***
CN114760298B (zh) 服务请求响应方法、装置、电子设备及存储介质
CN116074386B (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