CN112333270B - 一种微服务动态路由的方法及系统 - Google Patents
一种微服务动态路由的方法及系统 Download PDFInfo
- Publication number
- CN112333270B CN112333270B CN202011215387.4A CN202011215387A CN112333270B CN 112333270 B CN112333270 B CN 112333270B CN 202011215387 A CN202011215387 A CN 202011215387A CN 112333270 B CN112333270 B CN 112333270B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- processed
- calling
- services
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013468 resource allocation Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- H04L67/63—Routing a service request depending on the request content or context
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本发明提供了一种微服务动态路由的方法及系统,该方法为:获取消费端发送的包含待处理外部因子的数据处理请求;根据待处理外部因子在预设的微服务容器中进行路由,确定与待处理外部因子对应的待调用微服务;利用Dubbo,从配置中心中调用待调用微服务响应数据处理请求,得到响应结果;将响应结果反馈给消费端。在本方案中,根据消费端发送的待处理外部因子在微服务容器中进行路由,确定多个微服务中与待处理外部因子对应的待调用微服务,利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种微服务动态路由的方法及系统。
背景技术
随着互联网技术的发展,各行各业都通过互联网提供各式各样的业务功能,比如银行通过互联网技术为用户提供相应的服务。每家银行根据实际情况向用户提供各式各样的服务,多家银行所提供的服务的种类繁多,因此如何对不同银行所提供的服务进行资源调配,是目前亟需待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种微服务动态路由的方法及系统,以对不同银行所提供的服务进行资源调配。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开一种微服务动态路由的方法,所述方法包括:
获取消费端发送的包含待处理外部因子的数据处理请求,所述待处理外部因子至少包含银行代码、交易种类代码和调用方式;
根据所述待处理外部因子在预设的微服务容器中进行路由,确定与所述待处理外部因子对应的待调用微服务,所述微服务容器中预先加载zookeeper的配置中心中的服务调用关系,所述服务调用关系包含各个外部因子和各个微服务的对应关系;
利用开源分布式服务框架Dubbo,从所述配置中心中调用所述待调用微服务响应所述数据处理请求,得到响应结果,所述配置中心中包含多个预先在所述zookeeper的服务注册中心完成注册的微服务;
将所述响应结果反馈给所述消费端。
优选的,所述根据所述待处理外部因子在预设的微服务容器中进行路由,确定与所述待处理外部因子对应的待调用微服务,包括:
组合所述待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息;
利用所述微服务指向信息在预设的微服务容器中进行路由,确定所述微服务容器所加载的服务调用关系中,与所述微服务指向信息对应的微服务为待调用微服务。
优选的,还包括:
利用监听器监听所述配置中心中的服务调用关系;
若所述服务调用关系发生变化,将变化后的所述服务调用关系加载至所述微服务容器中。
优选的,所述利用开源分布式服务框架Dubbo,从所述配置中心中调用所述待调用微服务响应所述数据处理请求,得到响应结果,包括:
利用开源分布式服务框架Dubbo,基于所述数据处理请求中的调用方式,以java动态代理的方式从所述配置中心中调用所述待调用微服务进行服务消费,得到响应结果。
本发明实施例第二方面公开一种微服务动态路由的系统,所述系统包括:
获取单元,用于获取消费端发送的包含待处理外部因子的数据处理请求,所述待处理外部因子至少包含银行代码、交易种类代码和调用方式;
确定单元,用于根据所述待处理外部因子在预设的微服务容器中进行路由,确定与所述待处理外部因子对应的待调用微服务,所述微服务容器中预先加载zookeeper的配置中心中的服务调用关系,所述服务调用关系包含各个外部因子和各个微服务的对应关系;
调用单元,用于利用开源分布式服务框架Dubbo,从所述配置中心中调用所述待调用微服务响应所述数据处理请求,得到响应结果,所述配置中心中包含多个预先在所述zookeeper的服务注册中心完成注册的微服务;
反馈单元,用于将所述响应结果反馈给所述消费端。
优选的,所述确定单元包括:
组合模块,用于组合所述待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息;
路由模块,用于利用所述微服务指向信息在预设的微服务容器中进行路由,确定所述微服务容器所加载的服务调用关系中,与所述微服务指向信息对应的微服务为待调用微服务。
优选的,还包括:
监听单元,用于利用监听器监听所述配置中心中的服务调用关系,若所述服务调用关系发生变化,将变化后的所述服务调用关系加载至所述微服务容器中。
优选的,所述调用单元具体用于:利用开源分布式服务框架Dubbo,基于所述数据处理请求中的调用方式,以java动态代理的方式从所述配置中心中调用所述待调用微服务进行服务消费,得到响应结果。
本发明实施例第三方面公开一种电子设备,包括:
存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如本发明实施例第一方面公开的微服务动态路由的方法。
本发明实施例第四方面公开一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如本发明实施例第一方面公开的微服务动态路由的方法。
基于上述本发明实施例提供的一种微服务动态路由的方法及系统,该方法为:获取消费端发送的包含待处理外部因子的数据处理请求;根据待处理外部因子在预设的微服务容器中进行路由,确定与待处理外部因子对应的待调用微服务;利用Dubbo,从配置中心中调用待调用微服务响应数据处理请求,得到响应结果;将响应结果反馈给消费端。在本方案中,根据消费端发送的待处理外部因子在微服务容器中进行路由,确定多个微服务中与待处理外部因子对应的待调用微服务,利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种微服务动态路由的方法的流程图;
图2为本发明实施例提供的确定待调用微服务的流程图;
图3为本发明实施例提供的微服务动态路由的方法的信息交互示意图;
图4为本发明实施例提供的一种微服务动态路由的系统的结构框图;
图5为本发明实施例提供的一种微服务动态路由的系统的另一结构框图;
图6为本发明实施例提供的一种微服务动态路由的系统的又一结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,银行通过互联网技术为用户提供各式各样的服务,多家银行所提供的服务的种类繁多,因此如何对不同银行所提供的服务进行资源调配,是目前亟需待解决的问题。
本发明实施例提供一种微服务动态路由的方法及系统,根据消费端发送的待处理外部因子在微服务容器中进行路由,确定多个微服务中与待处理外部因子对应的待调用微服务,利用开源分布式服务框架(Dubbo)调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,以实现对不同银行提供的服务进行资源调配。
参见图1,示出了本发明实施例提供的一种微服务动态路由的方法的流程图,该方法包括:
步骤S101:获取消费端发送的包含待处理外部因子的数据处理请求。
需要说明的是,待处理外部因子至少包含银行代码、交易种类代码、应用ID和调用方式。
在具体实现步骤S101的过程中,用户在通过消费端进行相应的操作时,获取该消费端发送的至少包含待处理外部因子的数据处理请求,该待处理外部因子中所包含的银行代码和交易种类可指示该用户需要调用哪一微服务。
步骤S102:根据待处理外部因子在预设的微服务容器中进行路由,确定与待处理外部因子对应的待调用微服务。
需要说明的是,微服务容器中预先加载zookeeper的配置中心中的服务调用关系,服务调用关系包含各个外部因子和各个微服务的对应关系。
可以理解的是,预先搭建服务配置平台,通过服务配置平台配置外部因子(包含银行代码、交易种类代码和调用方式)和微服务的对应关系(即服务调用关系),即每个外部因子可指向一个对应的微服务。
在zookeeper中设置服务注册中心和配置中心,其中,服务注册中心提供微服务发布和微服务查询的功能,即服务提供者可在该服务注册中心中发布微服务,服务请求者(使用消费端的用户)可在该服务注册中心中查询所需要的微服务。配置中心划分为客户端和服务端,该服务端用于存储服务调用关系,该客户端为各个微服务。
也就是说,上述通过服务配置平台配置得到服务调用关系之后,将该服务调用关系发送至zookeeper的配置中心。
预先设置一个启动器,当用户在消费端启动一应用程序时,将zookeeper的配置中心中的服务调用关系加载至微服务容器。
在具体实现步骤S102的过程中,由前述内容可知外部因子可指向一微服务,且微服务容器中存在服务调用关系,利用待处理外部因子在该微服务容器中进行路由,即可从多个微服务中确定与该待处理外部因子对应的待调用微服务。
也就是说,利用待处理外部因子和微服务容器中的服务调用关系,即可确定消费端发送的数据处理请求需要调用哪一个微服务。
优选的,配置中心中的服务调用关系可能发生变化(比如新增新的外部因子与微服务的对应关系),因此设置一个监听器,利用监听器监听配置中心中的服务调用关系。若监听到配置中心的服务调用关系发生变化,将变化后的服务调用关系加载至微服务容器中,完成微服务容器的更新。
也就是说,利用监听器实时监听配置中心的服务调用关系,在服务调用关系发生变化时更新微服务容器中的内容,从而实现动态更新微服务容器。
步骤S103:利用Dubbo,从配置中心中调用待调用微服务响应数据处理请求,得到响应结果。
需要说明的是,由前述内容可知,zookeeper的配置中心的客户端为各个微服务,即配置中心中包含了多个预先在zookeeper的服务注册中心完成注册的微服务。
在具体实现步骤S103的过程中,确定消费端发送的数据处理请求所需要调用的待调用微服务之后,利用Dubbo(一种开源分布式服务框架)进行微服务的泛化调用,从配置中心中调用该待调用微服务进行服务消费,响应该数据处理请求,得到响应结果。
比如:假设待调用微服务为对公基本转账微服务,则利用Dubbo从配置中心中调用该对公基本转账微服务进行服务消费,响应数据处理请求得到服务消费对应的成功失败信息和业务数据响应结果。
可以理解的是,在具体利用Dubbo调用待调用微服务进行服务消费的过程中,具体的调用过程为:利用Dubbo,基于消费端发送的数据处理请求中的调用方式,以java动态代理的方式从配置中心中调用该待调用微服务进行服务消费,得到响应结果。
步骤S104:将响应结果反馈给消费端。
在具体实现步骤S104的过程中,通过待调用微服务响应数据处理请求之后,将响应结果反馈给消费端。
在本发明实施例中,根据消费端发送的待处理外部因子在微服务容器中进行路由,确定多个微服务中与待处理外部因子对应的待调用微服务,利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
上述本发明实施例图1步骤S102中涉及的确定待调用微服务的过程,参见图2,示出了本发明实施例提供的确定待调用微服务的流程图,包括以下步骤:
步骤S201:组合待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息。
需要说明的是,在配置服务调用关系(外部因子与微服务之间的对应关系)时,利用外部因子中的银行代码和交易种类代码进行组合,将组合得到的信息建立与微服务之间的对应关系。也就是说,外部因子的银行代码和交易种类代码的组合信息对应指定微服务,即服务调用关系中包含外部因子对应的组合信息与微服务之间的对应关系。
在具体实现步骤S201的过程中,组合待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息(即组合信息)。
步骤S202:利用微服务指向信息在预设的微服务容器中进行路由,确定微服务容器所加载的服务调用关系中,与微服务指向信息对应的微服务为待调用微服务。
由上述内容可知,每个外部因子的组合信息对应一指定的微服务,在具体实现步骤S202的过程中,利用微服务指向信息(待处理外部因子的组合信息)在微服务容器中进行路由,确定微服务容器所加载的服务调用关系中,与微服务指向信息对应的微服务为待调用微服务。
比如:假设待处理外部因子所包含的银行代码为102(工商银行对应的银行代码)和交易种类代码为101(对公转账对应的交易种类代码),将该处理外部因子所包含的银行代码和交易种类代码进行组合所得到的微服务指向信息为102_101,在服务调用关系中102_101所指向的微服务为工商银行的对公基本转账微服务,即利用102_101在微服务容器中进行路由所确定的待调用微服务为工商银行的对公基本转账微服务。
在本发明实施例中,利用外部因子的银行代码和交易种类代码所组合得到的组合信息和微服务的对应关系,配置服务调用关系。将待处理外部因子的银行代码和交易种类代码进行组合得到微服务指向信息,并基于该微服务指向信息在微服务容器中进行路由确定待调用微服务。利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
为更好解释说明上述本发明实施例图1和图2示出的内容,通过图3进行解释说明,需要说明的是,图3仅用于举例。
参见图3,示出了本发明实施例提供的微服务动态路由的方法的信息交互示意图。
在图3中,生产者为微服务提供者,即生产者将所提供微服务(微服务一、微服务二、……)注册至zookeeper的服务注册中心中。
通过服务配置平台配置服务调用关系,在配置服务调用关系时,所需要的参数为外部因子、消费端的指定信息、生产者的指定信息、微服务的指定信息、微服务的版本号和微服务的调用方式等。
在服务配置平台中配置服务调用关系之后,利用服务配置平台将该服务调用关系配置至zookeeper的配置中心。
消费端通过启动器启动应用程序,在应用程序的启动过程中从配置中心获取服务调用关系,并将服务调用关系存储至微服务容器中。
消费端通过监听器实时监听配置中心的服务调用关系,若服务调用关系发生变化时,将变化后的服务调用关系更新至微服务容器中。
消费端发出相应的数据处理请求后,确定需要调用的待调用微服务,并利用Dubbo调用该待调用微服务进行服务消费,响应该数据处理请求得到响应结果,并将响应结果反馈给消费端,具体内容可参见上述本发明实施例图1和图2的内容,在此不再进行赘述。
与上述本发明实施例提供的一种微服务动态路由的方法,参见图4,本发明实施例还提供一种微服务动态路由的系统的结构框图,该系统包括:获取单元401、确定单元402、调用单元403和反馈单元404;
获取单元401,用于获取消费端发送的包含待处理外部因子的数据处理请求,待处理外部因子至少包含银行代码、交易种类代码和调用方式。
确定单元402,用于根据待处理外部因子在预设的微服务容器中进行路由,确定与待处理外部因子对应的待调用微服务,微服务容器中预先加载zookeeper的配置中心中的服务调用关系,服务调用关系包含各个外部因子和各个微服务的对应关系。
调用单元403,用于利用Dubbo,从配置中心中调用待调用微服务响应数据处理请求,得到响应结果,配置中心中包含多个预先在zookeeper的服务注册中心完成注册的微服务。
在具体实现中,调用单元403具体用于:利用Dubbo,基于数据处理请求中的调用方式,以java动态代理的方式从配置中心中调用待调用微服务进行服务消费,得到响应结果。
反馈单元404,用于将响应结果反馈给消费端。
在本发明实施例中,根据消费端发送的待处理外部因子在微服务容器中进行路由,确定多个微服务中与待处理外部因子对应的待调用微服务,利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
优选的,结合图4,参见图5,示出了本发明实施例提供的一种微服务动态路由的系统的另一结构框图,确定单元402包括:
组合模块4021,用于组合待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息。
路由模块4022,用于利用微服务指向信息在预设的微服务容器中进行路由,确定微服务容器所加载的服务调用关系中,与微服务指向信息对应的微服务为待调用微服务。
在本发明实施例中,利用外部因子的银行代码和交易种类代码所组合得到的组合信息和微服务的对应关系,配置服务调用关系。将待处理外部因子的银行代码和交易种类代码进行组合得到微服务指向信息,并基于该微服务指向信息在微服务容器中进行路由确定待调用微服务。利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
优选的,结合图4,参见图6,示出了本发明实施例提供的一种微服务动态路由的系统的又一结构框图,该系统还包括:
监听单元405,用于利用监听器监听配置中心中的服务调用关系,若服务调用关系发生变化,将变化后的服务调用关系加载至微服务容器中。
优选的,本发明实施例还提供一种电子设备,该电子设备包括:存储器和处理器,其中,存储器用于存储程序,处理器用于执行程序,程序被执行时,具体用于实现如上述本发明实施例提供的微服务动态路由的方法。
优选的,本发明实施例还提供一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,用于实现如上述本发明实施例提供的微服务动态路由的方法。
综上所述,本发明实施例提供一种微服务动态路由的方法及系统,根据消费端发送的待处理外部因子在微服务容器中进行路由,确定多个微服务中与待处理外部因子对应的待调用微服务,利用Dubbo调用配置中心中的待调用微服务响应数据处理请求,得到响应结果并将响应结果反馈给消费端,从而实现对不同银行提供的服务进行资源调配。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种微服务动态路由的方法,其特征在于,所述方法包括:
获取消费端发送的包含待处理外部因子的数据处理请求,所述待处理外部因子至少包含银行代码、交易种类代码和调用方式;
根据所述待处理外部因子在预设的微服务容器中进行路由,确定与所述待处理外部因子对应的待调用微服务,所述微服务容器中预先加载zookeeper的配置中心中的服务调用关系,所述服务调用关系包含各个外部因子和各个微服务的对应关系;
利用开源分布式服务框架Dubbo,从所述配置中心中调用所述待调用微服务响应所述数据处理请求,得到响应结果,所述配置中心中包含多个预先在所述zookeeper的服务注册中心完成注册的微服务;
将所述响应结果反馈给所述消费端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理外部因子在预设的微服务容器中进行路由,确定与所述待处理外部因子对应的待调用微服务,包括:
组合所述待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息;
利用所述微服务指向信息在预设的微服务容器中进行路由,确定所述微服务容器所加载的服务调用关系中,与所述微服务指向信息对应的微服务为待调用微服务。
3.根据权利要求1所述的方法,其特征在于,还包括:
利用监听器监听所述配置中心中的服务调用关系;
若所述服务调用关系发生变化,将变化后的所述服务调用关系加载至所述微服务容器中。
4.根据权利要求1所述的方法,其特征在于,所述利用开源分布式服务框架Dubbo,从所述配置中心中调用所述待调用微服务响应所述数据处理请求,得到响应结果,包括:
利用开源分布式服务框架Dubbo,基于所述数据处理请求中的调用方式,以java动态代理的方式从所述配置中心中调用所述待调用微服务进行服务消费,得到响应结果。
5.一种微服务动态路由的系统,其特征在于,所述系统包括:
获取单元,用于获取消费端发送的包含待处理外部因子的数据处理请求,所述待处理外部因子至少包含银行代码、交易种类代码和调用方式;
确定单元,用于根据所述待处理外部因子在预设的微服务容器中进行路由,确定与所述待处理外部因子对应的待调用微服务,所述微服务容器中预先加载zookeeper的配置中心中的服务调用关系,所述服务调用关系包含各个外部因子和各个微服务的对应关系;
调用单元,用于利用开源分布式服务框架Dubbo,从所述配置中心中调用所述待调用微服务响应所述数据处理请求,得到响应结果,所述配置中心中包含多个预先在所述zookeeper的服务注册中心完成注册的微服务;
反馈单元,用于将所述响应结果反馈给所述消费端。
6.根据权利要求5所述的系统,其特征在于,所述确定单元包括:
组合模块,用于组合所述待处理外部因子中的银行代码和交易种类代码,得到微服务指向信息;
路由模块,用于利用所述微服务指向信息在预设的微服务容器中进行路由,确定所述微服务容器所加载的服务调用关系中,与所述微服务指向信息对应的微服务为待调用微服务。
7.根据权利要求5所述的系统,其特征在于,还包括:
监听单元,用于利用监听器监听所述配置中心中的服务调用关系,若所述服务调用关系发生变化,将变化后的所述服务调用关系加载至所述微服务容器中。
8.根据权利要求5所述的系统,其特征在于,所述调用单元具体用于:利用开源分布式服务框架Dubbo,基于所述数据处理请求中的调用方式,以java动态代理的方式从所述配置中心中调用所述待调用微服务进行服务消费,得到响应结果。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器用于存储程序;
所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如权利要求1至权利要求4中任一项所述的微服务动态路由的方法。
10.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,用于实现如权利要求1至权利要求4中任一项所述的微服务动态路由的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011215387.4A CN112333270B (zh) | 2020-11-04 | 2020-11-04 | 一种微服务动态路由的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011215387.4A CN112333270B (zh) | 2020-11-04 | 2020-11-04 | 一种微服务动态路由的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333270A CN112333270A (zh) | 2021-02-05 |
CN112333270B true CN112333270B (zh) | 2024-05-03 |
Family
ID=74323564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011215387.4A Active CN112333270B (zh) | 2020-11-04 | 2020-11-04 | 一种微服务动态路由的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333270B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965700B (zh) * | 2021-05-17 | 2021-08-20 | 太平金融科技服务(上海)有限公司 | 基于路由的微服务处理方法、装置、计算机设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN107766149A (zh) * | 2017-09-22 | 2018-03-06 | 北京市天元网络技术股份有限公司 | 一种基于DUBBO的ZooKeeper集群配置的方法及装置 |
CN108306917A (zh) * | 2017-01-13 | 2018-07-20 | 中国移动通信集团江西有限公司 | 数据处理方法和装置、微服务模块的注册方法及装置 |
CN108427581A (zh) * | 2018-02-07 | 2018-08-21 | 平安普惠企业管理有限公司 | 系统微服务化方法及终端设备 |
CN108965461A (zh) * | 2018-08-03 | 2018-12-07 | 华数传媒网络有限公司 | 服务治理方法、装置及dubbo服务系统 |
WO2020052582A1 (zh) * | 2018-09-14 | 2020-03-19 | 北京数聚鑫云信息技术有限公司 | 一种智能调用Dubbo远程服务的方法、装置、设备及介质 |
-
2020
- 2020-11-04 CN CN202011215387.4A patent/CN112333270B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN108306917A (zh) * | 2017-01-13 | 2018-07-20 | 中国移动通信集团江西有限公司 | 数据处理方法和装置、微服务模块的注册方法及装置 |
CN107766149A (zh) * | 2017-09-22 | 2018-03-06 | 北京市天元网络技术股份有限公司 | 一种基于DUBBO的ZooKeeper集群配置的方法及装置 |
CN108427581A (zh) * | 2018-02-07 | 2018-08-21 | 平安普惠企业管理有限公司 | 系统微服务化方法及终端设备 |
CN108965461A (zh) * | 2018-08-03 | 2018-12-07 | 华数传媒网络有限公司 | 服务治理方法、装置及dubbo服务系统 |
WO2020052582A1 (zh) * | 2018-09-14 | 2020-03-19 | 北京数聚鑫云信息技术有限公司 | 一种智能调用Dubbo远程服务的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112333270A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776171B2 (en) | Endpoint management system and virtual compute system | |
CN110557357B (zh) | 一种远程过程调用协议自适应方法、相关装置及服务器 | |
US7003663B2 (en) | Distribution of deployment information for remote applications | |
US10033816B2 (en) | Workflow service using state transfer | |
US8914804B2 (en) | Handling queues associated with web services of business processes | |
US7475406B2 (en) | Event notification structure for dynamically aggregated logical components | |
US20040176988A1 (en) | Web services registration for dynamic composition of web services | |
US20080140857A1 (en) | Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework | |
CN106371889B (zh) | 一种调度镜像的高性能集群系统实现方法及装置 | |
US8874640B2 (en) | Method and system for reducing service overhead in service oriented architectures | |
CN103841134A (zh) | 基于api发送、接收信息的方法、装置及系统 | |
EP1872213A1 (en) | Method and system for hosting and executing a component application | |
US20070165615A1 (en) | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services | |
CN112433863A (zh) | 微服务调用方法、装置、终端设备以及存储介质 | |
CN114281263B (zh) | 容器集群管理系统的存储资源处理方法、系统和设备 | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
CN112333270B (zh) | 一种微服务动态路由的方法及系统 | |
CN109213533A (zh) | 一种广告sdk动态加载方法、装置及终端 | |
CN111988398A (zh) | 一种数据获取方法、api网关、介质 | |
CN114461424A (zh) | 单元化部署架构下的单元间服务发现方法、装置及系统 | |
CN115514665A (zh) | 业务扩展方法、装置、电子设备及存储介质 | |
CN114640610A (zh) | 基于云原生的服务治理方法、装置及存储介质 | |
KR100798916B1 (ko) | 웹 서비스 기반 개방형 api를 지원하는 애플리케이션서버에서 통신망 이벤트 통보 장치 및 그 방법 | |
CN114398035A (zh) | 利用组件提供服务的方法、装置、设备和计算机可读介质 | |
EP2101473B1 (en) | Jini front-end component |
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 |