CN113742105A - 微服务框架的适配方法、设备和介质 - Google Patents
微服务框架的适配方法、设备和介质 Download PDFInfo
- Publication number
- CN113742105A CN113742105A CN202111020193.3A CN202111020193A CN113742105A CN 113742105 A CN113742105 A CN 113742105A CN 202111020193 A CN202111020193 A CN 202111020193A CN 113742105 A CN113742105 A CN 113742105A
- Authority
- CN
- China
- Prior art keywords
- service
- framework
- micro
- discovery
- service discovery
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006978 adaptation Effects 0.000 title claims description 15
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 7
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种微服务框架的适配方法、设备和介质,方法包括:获取微服务框架中服务发现的实现;通过服务发现将本机信息注册到注册中心;解析服务提供者注解,以HTTP形式对外提供指定接口的所有方法;为所有服务调用者生成服务调用者实例;响应于调用服务,获取微服务的实现;通过服务发现的实现获取注册中心中存活的服务提供者集群信息;拼接HTTP请求路径访问服务地址以进行服务调用。本公开实现了微服务框架必备的完整交互,包括服务注册、服务发现、服务通信,通过不同的微服务框架来编写服务发现、微服务的具体实现,在集成完毕后,因使用方式保持不变,从而对微服务框架进行切换时只需更换对应的程序依赖,无需修改业务代码。
Description
技术领域
本公开涉及计算机软件技术领域,特别涉及一种基于Java(计算机编程语言)实现的微服务框架的适配方法、设备和介质。
背景技术
使用微服务框架是企业级软件开发中的常见选择,其目的是将完整***拆分为多个可独立部署的组件,每一个组件都作为单独的服务,不同的服务集群之间通过注册中心来组织管理、通过远程过程调用(RPC,Remote Procedure Call)技术进行服务之间的访问。
参考图1所示,微服务框架主要包含的组成部分为:注册中心、服务提供方、服务调用方。其中注册中心为独立的中间件,负责服务的注册与发现。服务提供方与服务调用方都是具体的服务实例,一个服务可以同时作为服务的调用方与提供方。每个服务都会将自己的访问地址注册到注册中心中,不同的服务集群之间通过注册中心来发现其他的服务集群,当服务调用者获取到需要的服务提供者的访问地址之后即可通过RPC来进行访问。
通过如上述的方式在软件开发中使用微服务框架可拥有功能模块解耦、便于团队同时开发、可针对性对服务进行扩容/缩容等优点。使用开发语言实现微服务框架时,为了服务之间的调用与对接注册中心,技术选型会使用主流的微服务框架,如SpringCloud(一种微服务框架)、Dubbo(一种微服务框架)、ServiceComb(一种微服务框架)等。
但是,在面向企业客户的软件开发中,可能会面临因客户的定制化需求导致需要更改具体的微服务框架的情况。微服务框架一经选择后就很难更改,因为每种框架在程序中提供的用于暴露服务、调用服务的应用程序接口(API,Application ProgrammingInterface)不尽相同。在保证业务逻辑正常的情况下从代码层面进行微服务框架的替换往往会浪费开发人员宝贵的时间与精力。
目前,对于这个问题没有一个通用的解决方案,主流做法是在业务中基于原来的代码逻辑重写所有涉及到使用到微服务框架的地方。
例如,业务代码原来是使用SpringCloud作为微服务框架,在此之上需要切换成使用Dubbo则会在原有代码中进行修改,将所有使用SpringCloud的地方修改为Dubbo后再单独维护这份代码工程。此时就有了使用SpringCloud的和使用Dubbo的两份代码。只需要在部署时决定使用哪一份即可。
综上所述,目前针对微服务框架的替换方式主要存在以下缺陷:
1、无通用的解决方案
无法做到快速的开发适配,需要工程师花时间额外进行对接,增加人力资源成本,降低了效率。
2、维护成本高昂
自行开发多套代码,若后续的业务功能升级,则需要将新开发的业务代码同步到多个工程中,造成了维护成本的提升。
发明内容
本公开的主要目的在于,提供一种基于Java实现的微服务框架的适配方法、设备和介质,以改善现有技术中存在的上述缺陷。
本公开是通过下述技术方案来解决上述技术问题:
作为本公开的一方面,提供一种微服务框架的适配方法,包括以下步骤:
获取所述微服务框架中服务发现的实现;
通过所述服务发现将本机信息注册到注册中心;
解析服务提供者注解,以HTTP(超文本传输协议)形式对外提供指定接口的所有方法;
为所有服务调用者生成服务调用者实例;
响应于调用服务,获取微服务的实现;
通过所述服务发现的实现获取注册中心中存活的服务提供者集群信息;以及,
拼接HTTP请求路径访问服务地址以进行服务调用。
可选地,所述获取所述微服务框架中服务发现的实现的步骤,包括:
使用服务发现提供者获取所述微服务框架中服务发现的实现,所述服务发现提供者为管理所述服务发现的容器。
可选地,所述通过所述服务发现将本机信息注册到注册中心的步骤,具体包括:
获取本机的网际互连协议地址及用于程序运行时监听的端口信息;
使用服务发现实例将获取到的所述网际互连协议地址和所述端口信息注册到注册中心。
可选地,所述解析服务提供者注解,以HTTP形式对外提供指定接口的所有方法的步骤,具体包括:
响应于程序启动,扫描所有类并筛选出加有服务提供者注解的类;
解析服务提供者注解信息,以获取实现的接口信息;
获取接口的所有方法,将接口名和方法名拼接为URL(统一资源***)地址;
创建HTTP接口,请求路径设置为所述URL地址,并且设置当前扫描的类作为HTTP请求的处理模块。
可选地,所述为所有服务调用者生成服务调用者实例的步骤,包括:
响应于程序启动,扫描并筛选出所有加有服务调用者注解的接口,循环为扫描出的接口生成动态代理类作为服务调用者实例。
可选地,所述获取微服务的实现的步骤,包括:
通过微服务提供者获取微服务的实现,所述微服务提供者为管理所述微服务的容器。
可选地,所述通过所述服务发现的实现获取注册中心中存活的服务提供者集群信息的步骤,包括:
使用服务发现提供者获取所述服务发现的实现;
通过所述服务发现的服务发现功能获取提供服务的所有IP(网际互连协议)地址和端口信息,并且从中选出一个作为服务提供者。
可选地,所述拼接HTTP请求路径访问服务地址以进行服务调用的步骤,包括:
通过接口信息和调用的方法进行地址的拼接;
发送HTTP请求到选出的IP地址和端口上,以实现远程服务调用。
作为本公开的另一方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现如上述的微服务框架的适配方法。
作为本公开的另一方面,提供一种计算机可读介质,其上存储有计算机指令,所述计算机指令在由处理器执行时实现如上述的微服务框架的适配方法。
根据本公开内容,本领域技术人员可以理解本公开内容的其它方面。
本公开的积极进步效果在于:
本公开提供的微服务框架的适配方法、设备和介质,有效地实现了微服务框架必备的完整交互,包括服务注册、服务发现、服务通信,通过不同的微服务框架来编写服务发现、微服务的具体实现,在集成完毕后,因使用方式保持不变,从而对微服务框架进行切换时只需更换对应的程序依赖,不需要修改业务代码,从而极大地提升了效率,节省了人力成本,降低了维护成本。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本公开的所述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1为微服务框架的主要组成结构示意图。
图2为服务发现与注册中心交互场景示意图。
图3为微服务通信交互场景示意图。
图4为业务***实现微服务框架的服务暴露流程示意图。
图5为根据本公开内容的一实施例的微服务框架的适配方法的主要流程示意图。
图6为根据本公开的另一实施例的实现微服务框架的适配方法的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本公开,但并不因此将本公开限制在所述的实施例范围之中。
应当注意,在说明书中对“一实施例”、“可选实施例”、“另一实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可能不一定包括该特定的特征、结构或特性。而且,这样的短语不一定指代相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否被明确描述,结合其它实施例来实现这样的特征、结构或特性都在相关领域的技术人员的知识范围内。
在本公开内容的描述中,需要理解的是,术语“中心”、“横向”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开内容和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开内容的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开内容的描述中,除非另有说明,“多个”的含义是两个或两个以上。另外,术语“包括”及其任何变形,意图在于覆盖不排他的包含。
在本公开内容的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开内容中的具体含义。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
为了克服目前存在的上述缺陷,本实施例提供一种微服务框架的适配方法,包括以下步骤:获取微服务框架中服务发现的实现;通过服务发现将本机信息注册到注册中心;解析服务提供者注解,以HTTP形式对外提供指定接口的所有方法;为所有服务调用者生成服务调用者实例;响应于调用服务,获取微服务的实现;通过服务发现的实现获取注册中心中存活的服务提供者集群信息;以及,拼接HTTP请求路径访问服务地址以进行服务调用。
在本实施例中,通过Java软件开发程序包(JDK,Java Development Kit)提供的服务发现接口(SPI,Service Provider Interface)技术加载当前程序运行环境中已存在的微服务(Microservice)实现与服务发现(ServiceDiscovery)实现,使用自定义Java注解SoaServiceRegister标注服务提供者、SoaServiceClient标注服务调用者,以此达成便捷切换具体微服务框架的效果。
参考图2所示,ServiceDiscovery为与注册中心进行交互的接口,使用不同的ServiceDiscovery实例与实际注册中心的接口进行对接,通过引入程序依赖的方式被SPI机制发现并加载。
参考图3所示,Microservice为微服务之间通信的核心接口,每个服务调用者的每次RPC调用都会委派给此接口的实现,Microservice具体实现通过引入程序依赖的方式被SPI机制发现并加载。
SoaServiceRegister注解修饰在具体类上标识类为服务提供者,此类必需实现一个接口,并将接口信息设置在注解中,表示将此接口作为服务,其定义的所有方法都可以提供给外部进行调用。
SoaServiceClient注解修饰在接口上作为服务调用者,注解中需指定对应服务提供者实现的接口的信息。被SoaServiceClient修饰的接口中的方法和服务提供者实现的接口方法一一对应,表示调用关系。在应用程序启动时扫描所有添加了SoaServiceClient注解的接口,为其生成动态代理供程序使用,代理的底层通过Microservice具体实现调用对应服务提供者提供的服务。
在本实施例中,有效地实现了微服务框架必备的完整交互,包括服务注册、服务发现、服务通信,通过不同的微服务框架来编写服务发现、微服务的具体实现,在集成完毕后,因使用方式保持不变,从而对微服务框架进行切换时只需更换对应的程序依赖,不需要修改业务代码,从而极大地提升了效率,节省了人力成本,降低了维护成本。
具体地,作为一实施例,参考图4及图5所示,使用本实施例后业务***实现微服务框架的服务暴露流程具体参考图4所示,服务调用的流程具体参考图5所示,本实施例提供的微服务框架的适配方法,主要包括以下步骤:
步骤101、获取微服务框架中服务发现(ServiceDiscovery)的具体实现。
在本步骤中,使用服务发现提供者(ServiceDiscoveryProvider)获取微服务框架中服务发现的实现,ServiceDiscoveryProvider为管理ServiceDiscovery的容器。
具体地,在初次加载ServiceDiscoveryProvider的情况下会触发初始化逻辑,使用JDK提供的SPI接口ServiceLoader扫描出程序运行时包含的ServiceDiscovery实例,将其保存起来以供获取。
步骤102、通过服务发现将本机信息注册到注册中心。
具体地,在本步骤中,将服务提供者信息注册到注册中心具体包括以下步骤:
步骤1021、获取本机的IP地址和程序运行时监听的端口信息;
步骤1023、使用ServiceDiscovery实例将获取的IP地址和端口信息注册到注册中心。此时,若使用注册中心的服务发现功能就可以获取到本程序的部署的IP地址和端口信息。
步骤103、解析服务提供者(SoaServiceRegister)注解,以HTTP形式对外提供指定接口的所有方法。
具体地,在本步骤中,暴露HTTP接口的具体步骤包括以下步骤:
步骤1031、程序启动时扫描所有类,筛选出加了ServiceRegister注解的类;
步骤1032、解析ServiceRegister注解信息,获取实现的接口信息;
步骤1033、获取接口的所有方法,将接口名和方法名拼接为URL地址;
步骤1034、创建HTTP接口,请求路径设置为步骤1033中生成的URL地址并设置当前扫描的类作为HTTP请求的处理模块。创建完毕后外部即可访问程序生成的HTTP接口并被正确处理。
步骤104、为所有服务调用者(SoaServiceClient)生成服务调用者实例。
在本步骤中,生成服务调用者实例是在程序启动时扫描并筛选出所有加了SoaServiceClient注解的接口,循环为扫描出的接口生成动态代理类作为服务调用者实例。
步骤105、响应于调用服务,获取具体的微服务(Microservice)的具体实现。
本步骤是在使用步骤104生成的服务调用者实例调用任意方法时,通过微服务提供者(MicroserviceProvider)获取Microservice具体实现,Microse rviceProvider为管理Microservice的容器。在初次加载MicroserviceProvider的情况下会触发初始化逻辑,使用JDK提供的SPI接口ServiceLoader扫描出程序运行时包含的Microservice实例,将其保存起来以供获取。
步骤106、执行Microservice的调用微服务方法,通过服务发现的实现获取注册中心中存活的服务提供者集群信息。
在本步骤中,使用ServiceDiscoveryProvider获取ServiceDiscovery的具体实现,通过ServiceDiscovery的服务发现功能得到提供服务的所有IP地址和端口,从中选出一个作为服务提供者。
步骤107、拼接HTTP请求路径访问具体的服务地址以进行服务调用。
在本步骤中,通过接口信息和调用的方法按照和步骤1033相似的逻辑进行地址的拼接。发送HTTP请求到步骤106选出的IP地址和端口上,实现远程服务调用。
在本实施例中,调用微服务的实例和服务注册、服务发现涉及到的实例均通过SPI机制进行加载,从而实现便捷的变更以应对不同的需求。
在本实施例中,基于Java实现的微服务框架通用性适配方法,能够使得业务代码仅需对接一套接口即可在程序中集成任意的微服务框架,从而实现快速高效的使用并基于已有代码切换底层实现,从而提高易用性和软件开发效率,降低维护成本。
本实施例提供的微服务框架的适配方法,主要具有以下有益效果:
1、提供了一种实现服务注册、服务发现、服务通信的通用性的方法,可基于此能够有效地对接各大主流的微服务框架;
2、使用SPI框架,只需引入依赖即可切换程序具体实现;
3、有效地解决了企业切换微服务框架开发周期长的问题;
4、有效地提高了研发人员的编码效率,缩短了软件开发周期,降低了成本。
图6为根据本实施例提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上执行的计算机程序,处理器执行程序时实现如上实施例中的微服务框架的适配方法。图6显示的电子设备30仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同***组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过执行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本公开如上实施例中的微服务框架的适配方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如上实施例中的微服务框架的适配方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本公开还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上执行时,程序代码用于使终端设备执行实现如上实施例中的微服务框架的适配方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本公开的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本公开的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本公开的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本公开的保护范围。
Claims (10)
1.一种微服务框架的适配方法,其特征在于,包括以下步骤:
获取所述微服务框架中服务发现的实现;
通过所述服务发现将本机信息注册到注册中心;
解析服务提供者注解,以HTTP形式对外提供指定接口的所有方法;
为所有服务调用者生成服务调用者实例;
响应于调用服务,获取微服务的实现;
通过所述服务发现的实现获取注册中心中存活的服务提供者集群信息;以及,
拼接HTTP请求路径访问服务地址以进行服务调用。
2.如权利要求1所述的微服务框架的适配方法,其特征在于,所述获取所述微服务框架中服务发现的实现的步骤,包括:
使用服务发现提供者获取所述微服务框架中服务发现的实现,所述服务发现提供者为管理所述服务发现的容器。
3.如权利要求1所述的微服务框架的适配方法,其特征在于,所述通过所述服务发现将本机信息注册到注册中心的步骤,具体包括:
获取本机的网际互连协议地址及用于程序运行时监听的端口信息;
使用服务发现实例将获取到的所述网际互连协议地址和所述端口信息注册到注册中心。
4.如权利要求1所述的微服务框架的适配方法,其特征在于,所述解析服务提供者注解,以HTTP形式对外提供指定接口的所有方法的步骤,具体包括:
响应于程序启动,扫描所有类并筛选出加有服务提供者注解的类;
解析服务提供者注解信息,以获取实现的接口信息;
获取接口的所有方法,将接口名和方法名拼接为URL地址;
创建HTTP接口,请求路径设置为所述URL地址,并且设置当前扫描的类作为HTTP请求的处理模块。
5.如权利要求1所述的微服务框架的适配方法,其特征在于,所述为所有服务调用者生成服务调用者实例的步骤,包括:
响应于程序启动,扫描并筛选出所有加有服务调用者注解的接口,循环为扫描出的接口生成动态代理类作为服务调用者实例。
6.如权利要求1所述的微服务框架的适配方法,其特征在于,所述获取微服务的实现的步骤,包括:
通过微服务提供者获取微服务的实现,所述微服务提供者为管理所述微服务的容器。
7.如权利要求1所述的微服务框架的适配方法,其特征在于,所述通过所述服务发现的实现获取注册中心中存活的服务提供者集群信息的步骤,包括:
使用服务发现提供者获取所述服务发现的实现;
通过所述服务发现的服务发现功能获取提供服务的所有IP地址和端口信息,并且从中选出一个作为服务提供者。
8.如权利要求7所述的微服务框架的适配方法,其特征在于,所述拼接HTTP请求路径访问服务地址以进行服务调用的步骤,包括:
通过接口信息和调用的方法进行地址的拼接;
发送HTTP请求到选出的IP地址和端口上,以实现远程服务调用。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现如权利要求1~8中任意一项所述的微服务框架的适配方法。
10.一种计算机可读介质,其上存储有计算机指令,其特征在于,所述计算机指令在由处理器执行时实现如权利要求1~8中任意一项所述的微服务框架的适配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020193.3A CN113742105B (zh) | 2021-09-01 | 2021-09-01 | 微服务框架的适配方法、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020193.3A CN113742105B (zh) | 2021-09-01 | 2021-09-01 | 微服务框架的适配方法、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742105A true CN113742105A (zh) | 2021-12-03 |
CN113742105B CN113742105B (zh) | 2024-03-12 |
Family
ID=78734624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111020193.3A Active CN113742105B (zh) | 2021-09-01 | 2021-09-01 | 微服务框架的适配方法、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742105B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201314A (zh) * | 2021-12-10 | 2022-03-18 | 优维科技(深圳)有限公司 | 一种基于契约的实现服务依赖发现和服务访问的路由方法 |
CN114706588A (zh) * | 2022-03-24 | 2022-07-05 | 北京商越网络科技有限公司 | 服务架构的迁移方法、装置、介质和设备 |
CN114756309A (zh) * | 2022-06-14 | 2022-07-15 | 苏州万店掌网络科技有限公司 | 一种服务调用方法、框架、装置及存储介质 |
CN114900383A (zh) * | 2022-03-28 | 2022-08-12 | 青岛海尔科技有限公司 | 接口处理方法、装置、电子设备及计算机可读存储介质 |
CN116633993A (zh) * | 2023-07-25 | 2023-08-22 | 中邮消费金融有限公司 | 跨网络调用微服务方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729149A (zh) * | 2018-12-03 | 2019-05-07 | 国云科技股份有限公司 | 一种基于注解的微服务框架实现方法 |
CN109889416A (zh) * | 2019-02-18 | 2019-06-14 | 西安交通大学 | 一种基于微服务架构的智能家居***及构建方法 |
CN110266815A (zh) * | 2019-07-10 | 2019-09-20 | 西安纸贵互联网科技有限公司 | 基于区块链的微服务网络*** |
CN111245901A (zh) * | 2019-12-31 | 2020-06-05 | 的卢技术有限公司 | 一种支持服务参数下发的分布式服务注册发现方法及*** |
US20210034496A1 (en) * | 2019-07-29 | 2021-02-04 | Ncr Corporation | Auditing-as-a-service |
-
2021
- 2021-09-01 CN CN202111020193.3A patent/CN113742105B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729149A (zh) * | 2018-12-03 | 2019-05-07 | 国云科技股份有限公司 | 一种基于注解的微服务框架实现方法 |
CN109889416A (zh) * | 2019-02-18 | 2019-06-14 | 西安交通大学 | 一种基于微服务架构的智能家居***及构建方法 |
CN110266815A (zh) * | 2019-07-10 | 2019-09-20 | 西安纸贵互联网科技有限公司 | 基于区块链的微服务网络*** |
US20210034496A1 (en) * | 2019-07-29 | 2021-02-04 | Ncr Corporation | Auditing-as-a-service |
CN111245901A (zh) * | 2019-12-31 | 2020-06-05 | 的卢技术有限公司 | 一种支持服务参数下发的分布式服务注册发现方法及*** |
Non-Patent Citations (2)
Title |
---|
KEVIN CHÁVEZ;PRISCILA CEDILLO;MAURICIO ESPINOZA;VICTOR SAQUICELA: "A Systematic Literature Review on Composition of Microservices through the Use of Semantic Annotations: Solutions and Techniques", A SYSTEMATIC LITERATURE REVIEW ON COMPOSITION OF MICROSERVICES THROUGH THE USE OF SEMANTIC ANNOTATIONS: SOLUTIONS AND TECHNIQUES * |
肖仲垚: "微服务通信框架的设计与实现", 中国优秀硕士学位论文全文数据库 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201314A (zh) * | 2021-12-10 | 2022-03-18 | 优维科技(深圳)有限公司 | 一种基于契约的实现服务依赖发现和服务访问的路由方法 |
CN114706588A (zh) * | 2022-03-24 | 2022-07-05 | 北京商越网络科技有限公司 | 服务架构的迁移方法、装置、介质和设备 |
CN114900383A (zh) * | 2022-03-28 | 2022-08-12 | 青岛海尔科技有限公司 | 接口处理方法、装置、电子设备及计算机可读存储介质 |
CN114900383B (zh) * | 2022-03-28 | 2024-04-19 | 青岛海尔科技有限公司 | 接口处理方法、装置、电子设备及计算机可读存储介质 |
CN114756309A (zh) * | 2022-06-14 | 2022-07-15 | 苏州万店掌网络科技有限公司 | 一种服务调用方法、框架、装置及存储介质 |
CN114756309B (zh) * | 2022-06-14 | 2023-04-21 | 苏州万店掌网络科技有限公司 | 一种服务调用方法、框架、装置及存储介质 |
CN116633993A (zh) * | 2023-07-25 | 2023-08-22 | 中邮消费金融有限公司 | 跨网络调用微服务方法、装置、设备及存储介质 |
CN116633993B (zh) * | 2023-07-25 | 2023-10-10 | 中邮消费金融有限公司 | 跨网络调用微服务方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113742105B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113742105A (zh) | 微服务框架的适配方法、设备和介质 | |
JP6058628B2 (ja) | マルチノードアプリケーションのデプロイメント・システム | |
US8302077B2 (en) | Method and system for configuring software modules to execute in an execution environment | |
US7421620B2 (en) | Configuration proxy service for the extended firmware interface environment | |
US7499991B2 (en) | Autonomic application server unneeded process disablement | |
US8307058B2 (en) | Apparatus, method, and computer program product for processing information | |
US20050165826A1 (en) | Apparatus, system, and method for automatically generating a web interface for an MFS-based IMS application | |
US20020174420A1 (en) | Apparatus and method for automated creation of resource types | |
US11528186B2 (en) | Automated initialization of bare metal servers | |
JP6182160B2 (ja) | 実行中のプロセスへのコードの動的挿入 | |
US20080288622A1 (en) | Managing Server Farms | |
US20040254978A1 (en) | System and method of remotely accessing a computer system to initiate remote mainteneance and management accesses on network computer systems | |
US6865732B1 (en) | Providing an embedded application specific web server | |
US10970141B2 (en) | Integrating transaction processing system interfaces with event-driven polyglot runtime modules | |
TWI356301B (en) | Memory management system and method for open platf | |
US8239862B2 (en) | Apparatus, method, and computer program product for processing information | |
US20080216050A1 (en) | Method and System for Accessing a Resource Implemented in a Computer Network | |
US8813026B1 (en) | Methods and apparatus for storing information for components of a system in model component files to provide a world view of the system | |
US11494184B1 (en) | Creation of transportability container files for serverless applications | |
CN113626095A (zh) | 配置中心的切换方法、切换***、电子设备及存储介质 | |
CN108111496A (zh) | 为dubbo分布式应用暴露http服务的方法、装置及*** | |
CN112230978A (zh) | 一种多数据源动态切换方法、电子设备及存储介质 | |
CN113742100B (zh) | 基于微服务架构的服务调用方法、***、设备及介质 | |
CN116401014A (zh) | 服务发布方法、装置、存储介质及服务器 | |
US8886751B1 (en) | Methods and apparatus for a data driven system implementation using model components |
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 |