CN109547570A - 服务注册方法、装置、注册中心管理设备及存储介质 - Google Patents
服务注册方法、装置、注册中心管理设备及存储介质 Download PDFInfo
- Publication number
- CN109547570A CN109547570A CN201811640256.3A CN201811640256A CN109547570A CN 109547570 A CN109547570 A CN 109547570A CN 201811640256 A CN201811640256 A CN 201811640256A CN 109547570 A CN109547570 A CN 109547570A
- Authority
- CN
- China
- Prior art keywords
- center
- registration
- micro services
- registered
- management equipment
- 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
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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种服务注册方法、装置、注册中心管理设备及存储介质,该方法包括:注册中心管理设备获取微服务系统所处的部署环境;注册中心管理设备根据部署环境与注册中心的对应关系确定与微服务系统所处的部署环境对应的目标注册中心,目标注册中心为至少两个注册中心的一个;注册中心管理设备加载与目标注册中心对应的实现类,启动目标注册中心;注册中心管理设备获取第一设备发送的待注册的微服务,注册中心管理设备将待注册的微服务注册到目标注册中心。满足微服务系统的多环境部署的需求。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种服务注册方法、装置、注册中心管理设备及存储介质。
背景技术
微服务系统,是将一个原本独立的系统拆分成多个微小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于超文本传输协议(HyperText TransferProtocol,HTTP)的RESTful应用程序编程接口(Application Programming Interface,API)进行协作。
当前微服务开发模式下,服务的注册和发现都需要使用同一个注册中心,注册中心服务提供商一般只提供一种注册中心,只能支持一种服务发现机制。
发明内容
本申请实施例提供了一种服务注册方法、装置、注册中心管理设备及存储介质,可以根据不同的部署环境采用不同的注册中心,满足微服务系统的多环境部署的需求。
第一方面,本申请实施例提供一种服务注册方法,所述方法应用于微服务系统,所述微服务系统包括注册中心管理设备、至少两个注册中心和第一设备,所述方法包括:
所述注册中心管理设备获取所述微服务系统所处的部署环境;
所述注册中心管理设备根据部署环境与注册中心的对应关系确定与所述微服务系统所处的部署环境对应的目标注册中心,所述目标注册中心为所述至少两个注册中心的一个;
所述注册中心管理设备加载与所述目标注册中心对应的实现类,启动所述目标注册中心;
所述注册中心管理设备获取所述第一设备发送的待注册的微服务,所述注册中心管理设备将所述待注册的微服务注册到所述目标注册中心。
第二方面,本申请实施例提供了一种服务注册装置,所述服务注册装置应用于微服务系统,所述微服务系统包括注册中心管理设备、至少两个注册中心和第一设备,所述服务注册装置包括:
获取单元,用于获取所述微服务系统所处的部署环境;
确定单元,用于根据部署环境与注册中心的对应关系确定与所述微服务系统所处的部署环境对应的目标注册中心,所述目标注册中心为所述至少两个注册中心的一个;
加载单元,用于获取加载与所述目标注册中心对应的实现类,启动所述目标注册中心;
注册单元,用于获取所述第一设备发送的待注册的微服务,将所述待注册的微服务注册到所述目标注册中心。
第三方面,本申请实施例提供一种注册中心管理设备,包括处理器、存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中所描述的服务注册方法,该方法应用于微服务系统,微服务系统包括注册中心管理设备、至少两个注册中心和第一设备,该方法包括:注册中心管理设备获取微服务系统所处的部署环境;注册中心管理设备根据部署环境与注册中心的对应关系确定与微服务系统所处的部署环境对应的目标注册中心,目标注册中心为上述至少两个注册中心的一个;注册中心管理设备加载与目标注册中心对应的实现类,启动目标注册中心;注册中心管理设备获取第一设备发送的待注册的微服务,将该待注册的微服务注册到目标注册中心。本申请实施例能够根据微服务系统所处的部署环境来选择与之匹配的注册中心,可以根据不同的部署环境采用不同的注册中心,满足微服务系统的多环境部署的需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种微服务系统的结构示意图;
图2是本申请实施例公开的一种服务注册方法的流程示意图;
图3是本申请实施例公开的一种服务注册与服务发现的微服务系统架构;
图4是本申请实施例公开的另一种服务注册方法的流程示意图;
图5是本申请实施例公开的一种服务注册装置的结构示意图;
图6是本申请实施例公开的一种注册中心管理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的微服务系统中的设备可以是服务器、虚拟机、物理机、云端服务器等等。
下面对本申请实施例进行详细介绍。
为了更好理解本申请的服务注册方法,首先公开一种微服务系统。请参阅图1,图1是本申请实施例公开的一种微服务系统的结构示意图,如图1所示,该微服务系统包括注册中心管理设备11、至少两个注册中心(如图1所示的第一注册中心121和第二注册中心122)和第一设备13。其中,注册中心管理设备11、第一注册中心121和第二注册中心122都可以是服务器,注册中心管理设备11、第一注册中心121和第二注册中心122可以是不同的服务器。注册中心管理设备11可以与第一注册中心121或第二注册中心122是相同的服务器。第一设备13可以是服务器,也可以是手机、平板电脑等终端。注册中心管理设备11用于管理至少两个注册中心,可以根据部署环境选择采用哪个注册中心。第一设备13可以向注册中心管理设备11发送服务注册请求。该微服务系统可以是分布式系统。本申请实施例能够根据微服务系统所处的部署环境来选择与之匹配的注册中心,可以根据不同的部署环境采用不同的注册中心,满足微服务系统的多环境部署的需求。图1中的服务器可以是虚拟机、物理机、云端服务器中的任一种。
基于图1所示的微服务系统,本申请实施例公开一种服务注册方法,请参阅图2,图2是本申请实施例公开的一种服务注册方法的流程示意图,如图2所示,该服务注册方法包括如下步骤。
201,注册中心管理设备获取微服务系统所处的部署环境。
本申请实施例中,微服务系统可以处于云部署环境,也可以处于本地部署环境,也可以处于混合部署环境(云部署+本地部署)。在不同的部署环境下,服务发现机制也不相同。云部署,就是微服务系统运行在云服务器中,本地部署,就是微服务系统运行在本地服务器中,混合部署,就是微服务系统一部分运行在云服务器中,另一部分运行在本地服务器中。
其中,在不同的部署环境下,使用的注册中心不同,服务发现机制也不同。
服务发现,是指在微服务架构下,一个微服务动态获取其他可用微服务列表的过程。
注册在同一个注册中心的服务,相互可以发现对方,反之则不行。
注册中心管理设备每次在微服务系统启动时,都可以通过微服务系统启动的读取的配置文件中获取微服务系统所处的部署环境。该微服务系统启动的读取的配置文件中记录了该微服务系统所处的部署环境。
202,注册中心管理设备根据部署环境与注册中心的对应关系确定与微服务系统所处的部署环境对应的目标注册中心,目标注册中心为至少两个注册中心的一个。
本申请实施例中,注册中心管理设备中可以存储部署环境与注册中心的对应关系。在不同的部署环境下,由于服务发现机制不同,所需要采用的注册中心也不同,为了适应不同的部署环境,可以根据部署环境选择与之匹配的注册中心。
注册中心管理设备确定与微服务系统所处的部署环境对应的目标注册中心之后,可以启动目标注册中心。
可选的,至少两个注册中心的服务发现机制互不相同。
可选的,步骤201和步骤202可以在该微服务系统初次启动运行时执行。当微服务系统的部署环境确定后,后续该微服务系统每次启动运行时,则可以自动跳过步骤201和步骤202,直接执行步骤203。
可选的,当该微服务系统的部署环境发生变化之后,该微服务系统启动时,通过微服务系统启动时读取的配置文件中获取微服务系统所处的部署环境,该微服务系统启动的读取的配置文件中记录了该微服务系统所处的部署环境。判断该配置文件中记录了该微服务系统所处的部署环境与该微服务系统上一次启动时的部署环境是否相同,若不相同,则执行步骤202至步骤204。
203,注册中心管理设备加载与目标注册中心对应的实现类,启动目标注册中心。
本申请实施例中,注册中心管理设备在确定与微服务系统所处的部署环境对应的目标注册中心之后,才加载与目标注册中心对应的实现类,从而启动目标注册中心。
现有技术中,注册中心服务提供商仅提供一种注册中心,并且所提供的注册中心是自动启动的,并且每次启动就会自动加载实现类。导致注册中心服务提供商的提供的注册中心无法适应不同的部署环境。本申请实施例可以根据部署环境选择与之匹配的注册中心,从而可以适应不同的部署环境,适应不同的服务发现机制,提高了微服务系统的适应能力。
204,注册中心管理设备获取第一设备发送的待注册的微服务,将待注册的微服务注册到目标注册中心。
本申请实施例中,第一设备也可以称为服务提供设备,用于在注册中心注册自己所提供的微服务。注册中心将待注册的微服务注册到目标注册中心后,目标注册中心可以将该微服务放入其所管理的服务列表中。注册中心可以将服务列表中的微服务推送给服务消费设备,以供服务消费设备选择所需的微服务。服务列表中可以包括微服务的服务类型、微服务的服务名称、微服务的服务提供商名称、微服务对应的网络资源地址,比如,该微服务对应的统一资源定位符(Uniform Resource Locator,URL)。
其中,微服务系统中,目标注册中心启动之后,目标注册中心可以与第一设备建立长连接并保持。与目标注册中心保持长连接的第一设备可以有多个。目标注册中心可以允许多个服务提供设备与之保持长连接。目标注册中心所维持的服务列表可以动态的更新(包含服务的增加和删除等),目标注册中心可以定期的向服务消费设备推送其更新的服务列表,以便服务消费设备可以快速的获取所需的微服务。服务消费设备也可以与目标注册中心保持长连接。
在目标注册中心启动的情况下,与目标注册中心保持长连接的服务消费设备和服务提供设备都遵循同一种服务发现机制,这种服务发现机制可以与该目标注册中心对应的部署环境兼容。
本申请实施例所提供的服务注册方法,能够根据微服务系统所处的部署环境来选择与之匹配的注册中心,然后选择启动与之匹配的注册中心,可以根据不同的部署环境采用不同的注册中心,满足微服务系统的多环境部署的需求。该服务注册方法对应的程序代码可以不经修改即可部署在各种环境中,无需根据不同的部署环境修改注册中心的实现代码,降低了微服务开发模式下的开发人员的代码修改工作量。
可选的,步骤204中,注册中心管理设备将待注册的微服务注册到目标注册中心,具体可以为:
注册中心管理设备向目标注册中心发送注册请求,注册请求包括待注册的微服务的参数信息,目标注册中心用于存储待注册的微服务的参数信息。
其中,待注册的微服务的参数信息可以包括该注册的微服务的服务类型、该注册的微服务的服务名称、该微服务的服务提供商名称、该微服务对应的网络资源地址等。目标注册中心可以将待注册的微服务的参数信息存储在服务列表中。
可选的,在执行步骤204之后,还可以执行如下步骤:
注册中心管理设备获取第二设备发送的服务发现请求,服务发现请求携带第二设备所需服务的参数信息;
注册中心管理设备将服务发现请求发送给目标注册中心。
本申请实施例中,第二设备所需服务的参数信息可以包括第二设备所需服务的服务类型、服务名称。
其中,第一设备、第二设备、注册中心管理设备、目标注册中心的关系可以参见图3,图3是本申请实施例公开的一种服务注册与服务发现的微服务系统架构。其中,注册中心管理设备可以位于目标注册中心(目标注册中心可以是图3中的第一注册中心或第二注册中心)内,注册中心管理设备可以充当目标注册中心的网关,用于与第一设备、第二设备建立并保持长连接。第一设备也可以称为服务提供设备,第二设备也可以称为服务消费设备。第一设备在目标注册中心注册了微服务之后,第二设备可以通过目标注册中心提供的服务发现机制发现目标注册中心已注册的微服务,第二设备可以在查询微服务。具体的,第一设备将待注册的微服务注册到目标注册中心后,目标注册中心可以将该微服务放入其所管理的服务列表中。该微服务可以以一个或多个服务实例的形式存储,服务列表中可以包含每个服务实例的网络位置,该网络位置可以包括服务实例的网际协议(Internet Protocol,IP)地址和端口号,以便服务消费设备根据该服务实例的IP地址和端口号获取所需的微服务。具体的,第二设备获取服务实例的网络位置之后,可以向第一设备发送微服务调用请求,以获取所需的微服务。
当然,当第一设备不再提供服务时,第一设备也可以将在目标注册中心注册的微服务进行删除。相应的,目标注册中心也可以更新服务列表以及相应的数据库。
目标注册中心可以将服务列表中的微服务推送给服务消费设备,以供服务消费设备选择所需的微服务,第二设备也可以通过服务发现机制从目标注册中心获取所需的微服务。
其中,不同的注册中心的服务发现机制不同。比如,有些服务发现机制是基于客户端实现的,是客户端发现模式,有些服务发现机制是基于服务端实现的,是服务端发现模式。
具体的,当使用客户端发现模式时,客户端负责确定可用服务实例的网络位置并且对通过它们的请求进行负载均衡。客户端查询服务注册中心,服务注册中心是注册中心的一个可用服务实例的数据库。客户端接着使用负载均衡算法选择可用的服务实例中的一个并把这个请求路由到该服务实例。当服务实例启动的时候,它的网络地址被注册到服务注册中心。当该服务实例终止的时候,该地址从服务注册中心移除。服务实例的注册通常使用心跳机制定期刷新。
当使用服务端发现模式时,客户端通过负载均衡器向服务端发送请求。负载均衡器查询注册中心并路由每个请求到可用的服务实例。与客户端发现机制一样,服务实例也需要向注册中心注册和注销。
请参阅图4,图4是本申请实施例公开的另一种服务注册方法的流程示意图,如图4所示,该服务注册方法包括如下步骤。
401,注册中心管理设备获取目标注册中心的实现组件,对目标注册中心的实现组件的源代码进行修改,以去除目标注册中心的核心类的自动加载功能,得到修改后的目标注册中心的实现组件;该核心类包括微服务系统所支持的服务类型对应的类。
本申请实施例中,目标注册中心的实现组件是实现目标注册中心的功能的程序组件。当该目标注册中心的实现组件在目标注册中心上运行时,目标注册中心才可以正常工作。目标注册中心的实现组件可以是其他注册中心服务提供商提供的注册中心的实现组件。注册中心管理设备可以对目标注册中心的实现组件的源代码进行修改,以去除目标注册中心的核心类的自动加载功能,修改后的目标注册中心的实现组件,并对修改后的目标注册中心的实现组件进行重新封装。
其中,微服务系统可以支持多个注册中心的实现组件的修改,其他注册中心的实现组件的修改可以参见目标注册中心的实现组件的修改,此处不再赘述。
可选的,获取目标注册中心的实现组件,也可以由开发人员对目标注册中心的实现组件的源代码进行修改,以去除目标注册中心的核心类的自动加载功能,得到修改后的目标注册中心的实现组件。其中,该目标注册中心的实现组件为开源注册中心实现组件,通过修改源代码,去除自动加载功能,重新打包封装,得到关闭自动加载功能的注册中心实现组件。
该核心类包括微服务系统所支持的服务类型对应的类。具体的,为了满足客户的需求,微服务系统所支持的服务类型对应的类也是有限的,这里的核心类指的是客户所要求支持的类。
在当前微服务开发模式下,同一套代码只能支持一种服务发现机制,如果涉及到发现机制的修改必须对源代码进行修改。比如将应用部署到云环境时,就需要修改代码适配云环境的服务发现机制,涉及的服务数量越多,改造的难度和工作量也越大。当前公司乃至业界的产品部署方式都愈发多样化,非云环境部署时,注册中心所用到的注册中心实现有很多种方案,云部署时使用的注册中心实现也不唯一,且非云部署也不一样。但是我们需要根据自身的技术特点和客户需求来做不同的部署,就无法做到在不修改源代码的情况下部署到不同的环境,不能满足多环境部署的需求以及注册中心实现更换的场景。可见,现有技术中注册中心服务提供商仅提供一种注册中心,并且所提供的注册中心是自动启动的,并且每次启动就会自动加载实现类。导致注册中心服务提供商的提供的注册中心无法适应不同的部署环境。本申请实施例可以将各个注册中心服务提供商提供的注册中心的实现组件中的核心类的自动加载功能去除,避免核心类的自动加载。可以根据部署环境选择与之匹配的注册中心,从而可以适应不同的部署环境,适应不同的服务发现机制,提高了微服务系统的适应能力。
402,注册中心管理设备在目标注册中心加载修改后的目标注册中心的实现组件。
本申请实施例中,在目标注册中心加载修改后的目标注册中心的实现组件之后,目标注册中心启动时,由于核心类的自动加载功能已经去除,不会自动加载该注册中心自带的核心类。
403,注册中心管理设备获取微服务系统所处的部署环境。
404,注册中心管理设备根据部署环境与注册中心的对应关系确定与微服务系统所处的部署环境对应的目标注册中心,目标注册中心为至少两个注册中心的一个。
405,注册中心管理设备加载与目标注册中心对应的实现类,启动目标注册中心。
406,注册中心管理设备获取第一设备发送的待注册的微服务,将待注册的微服务注册到目标注册中心。
本申请实施例中的步骤403至步骤406的具体实现可以参见上述图2所示的步骤201至步骤204的相关描述,此处不再赘述。
本申请实施例中,可以将各个注册中心服务提供商提供的注册中心的实现组件中的核心类的自动加载功能去除,避免核心类的自动加载。可以根据部署环境选择与之匹配的注册中心,从而可以适应不同的部署环境,适应不同的服务发现机制,提高了微服务系统的适应能力。
可选的,当微服务系统所处的部署环境发生变化时,重启注册中心管理设备。由于部署环境发生变化,服务发现机制也可能会发生变化,重启注册中心管理设备可以重新更换新的注册中心,以支持新的服务发现机制。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图5,图5是本申请实施例公开的一种服务注册装置的结构示意图。该服务注册装置应用于微服务系统,微服务系统包括注册中心管理设备、至少两个注册中心和第一设备,如图5所示,该服务注册装置500包括获取单元501、确定单元502、加载单元503和注册单元504,其中:
获取单元501,用于获取微服务系统所处的部署环境;
确定单元502,用于根据部署环境与注册中心的对应关系确定与微服务系统所处的部署环境对应的目标注册中心,目标注册中心为至少两个注册中心的一个;
加载单元503,用于获取加载与目标注册中心对应的实现类,启动目标注册中心;
注册单元504,用于获取第一设备发送的待注册的微服务,将待注册的微服务注册到目标注册中心。
可选的,该服务注册装置500还可以包括修改单元505。
该获取单元501,还用于在获取微服务系统所处的目标部署环境之前,获取目标注册中心的实现组件;
修改单元505,用于对目标注册中心的实现组件的源代码进行修改,以去除目标注册中心的核心类的自动加载功能,得到修改后的目标注册中心的实现组件;核心类包括微服务系统所支持的服务类型对应的类。
可选的,该服务注册装置500还可以包括加载单元506。
加载单元506,用于在修改单元505对目标注册中心的实现组件的源代码进行修改,以去除目标注册中心的核心类的自动加载功能,得到修改后的目标注册中心的实现组件之后,以及在获取单元501获取微服务系统所处的目标部署环境之前,在目标注册中心加载修改后的目标注册中心的实现组件。
可选的,注册单元504将待注册的微服务注册到目标注册中心,具体为:向目标注册中心发送注册请求,注册请求包括待注册的微服务的参数信息,目标注册中心用于存储待注册的微服务的参数信息。
可选的,微服务系统还包括第二设备,该服务注册装置500还可以包括发送单元507。
该获取单元501,还用于在注册单元504将待注册的微服务注册到目标注册中心之后,获取第二设备发送的服务发现请求,服务发现请求携带第二设备所需服务的参数信息;
发送单元507,用于将服务发现请求发送给目标注册中心。
可选的,该服务注册装置500还可以包括重启单元508。
重启单元508,用于当微服务系统所处的部署环境发生变化时,重启注册中心管理设备。
可选的,至少两个注册中心的服务发现机制互不相同。
实施图5所示的装置,能够根据微服务系统所处的部署环境来选择与之匹配的注册中心,然后选择启动与之匹配的注册中心,可以根据不同的部署环境采用不同的注册中心,满足微服务系统的多环境部署的需求。该服务注册方法对应的程序代码可以不经修改即可部署在各种环境中,无需根据不同的部署环境修改注册中心的实现代码,降低了微服务开发模式下的开发人员的代码修改工作量。
请参阅图6,图6是本申请实施例公开的一种注册中心管理设备的结构示意图。如图6所示,该注册中心管理设备600包括处理器601和存储器602,其中,注册中心管理设备600还可以包括总线603,处理器601和存储器602可以通过总线603相互连接,总线603可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中,注册中心管理设备600还可以包括输入输出设备604,输入输出设备604可以包括显示屏,例如液晶显示屏。存储器602用于存储包含指令的一个或多个程序;处理器601用于调用存储在存储器602中的指令执行上述图2至图4中的部分或全部方法步骤。
实施图6所示的注册中心管理设备,能够根据微服务系统所处的部署环境来选择与之匹配的注册中心,然后选择启动与之匹配的注册中心,可以根据不同的部署环境采用不同的注册中心,满足微服务系统的多环境部署的需求。该服务注册方法对应的程序代码可以不经修改即可部署在各种环境中,无需根据不同的部署环境修改注册中心的实现代码,降低了微服务开发模式下的开发人员的代码修改工作量。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种服务注册方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种服务注册方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种服务注册方法,其特征在于,所述方法应用于微服务系统,所述微服务系统包括注册中心管理设备、至少两个注册中心和第一设备,所述方法包括:
所述注册中心管理设备获取所述微服务系统所处的部署环境;
所述注册中心管理设备根据部署环境与注册中心的对应关系确定与所述微服务系统所处的部署环境对应的目标注册中心,所述目标注册中心为所述至少两个注册中心的一个;
所述注册中心管理设备加载与所述目标注册中心对应的实现类,启动所述目标注册中心;
所述注册中心管理设备获取所述第一设备发送的待注册的微服务,所述注册中心管理设备将所述待注册的微服务注册到所述目标注册中心。
2.根据权利要求1所述的方法,其特征在于,所述注册中心管理设备获取所述微服务系统所处的目标部署环境之前,所述方法还包括:
所述注册中心管理设备获取所述目标注册中心的实现组件,对所述目标注册中心的实现组件的源代码进行修改,以去除所述目标注册中心的核心类的自动加载功能,得到修改后的目标注册中心的实现组件;所述核心类包括所述微服务系统所支持的服务类型对应的类。
3.根据权利要求2所述的方法,其特征在于,所述注册中心管理设备对所述目标注册中心的实现组件的源代码进行修改,以去除所述目标注册中心的核心类的自动加载功能,得到修改后的目标注册中心的实现组件之后,以及所述注册中心管理设备获取所述微服务系统所处的目标部署环境之前,所述方法还包括:
所述注册中心管理设备在所述目标注册中心加载所述修改后的目标注册中心的实现组件。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述注册中心管理设备将所述待注册的微服务注册到所述目标注册中心,包括:
所述注册中心管理设备向所述目标注册中心发送注册请求,所述注册请求包括所述待注册的微服务的参数信息,所述目标注册中心用于存储所述待注册的微服务的参数信息。
5.根据权利要求4所述的方法,其特征在于,所述微服务系统还包括第二设备,所述注册中心管理设备将所述待注册的微服务注册到所述目标注册中心之后,所述方法还包括:
所述注册中心管理设备获取所述第二设备发送的服务发现请求,所述服务发现请求携带所述第二设备所需服务的参数信息;
所述注册中心管理设备将所述服务发现请求发送给所述目标注册中心。
6.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
当所述微服务系统所处的部署环境发生变化时,重启所述注册中心管理设备。
7.根据权利要求1~3任一项所述的方法,其特征在于,所述至少两个注册中心的服务发现机制互不相同。
8.一种服务注册装置,其特征在于,所述服务注册装置应用于微服务系统,所述微服务系统包括注册中心管理设备、至少两个注册中心和第一设备,所述服务注册装置包括:
获取单元,用于获取所述微服务系统所处的部署环境;
确定单元,用于根据部署环境与注册中心的对应关系确定与所述微服务系统所处的部署环境对应的目标注册中心,所述目标注册中心为所述至少两个注册中心的一个;
加载单元,用于获取加载与所述目标注册中心对应的实现类,启动所述目标注册中心;
注册单元,用于获取所述第一设备发送的待注册的微服务,将所述待注册的微服务注册到所述目标注册中心。
9.一种注册中心管理设备,其特征在于,包括处理器以及存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,所述程序包括用于执行如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811640256.3A CN109547570B (zh) | 2018-12-29 | 2018-12-29 | 服务注册方法、装置、注册中心管理设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811640256.3A CN109547570B (zh) | 2018-12-29 | 2018-12-29 | 服务注册方法、装置、注册中心管理设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109547570A true CN109547570A (zh) | 2019-03-29 |
CN109547570B CN109547570B (zh) | 2021-07-06 |
Family
ID=65831457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811640256.3A Active CN109547570B (zh) | 2018-12-29 | 2018-12-29 | 服务注册方法、装置、注册中心管理设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109547570B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278284A (zh) * | 2019-07-10 | 2019-09-24 | 中国民航信息网络股份有限公司 | 一种服务调用方法及装置 |
CN110381163A (zh) * | 2019-07-30 | 2019-10-25 | 普信恒业科技发展(北京)有限公司 | 网关节点转发服务请求的方法及网关节点 |
CN110806878A (zh) * | 2019-10-30 | 2020-02-18 | 中国联合网络通信集团有限公司 | 服务管理方法、系统和存储介质 |
CN111309367A (zh) * | 2020-02-19 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 一种管理服务发现的方法、装置、介质和电子设备 |
CN111782221A (zh) * | 2020-06-29 | 2020-10-16 | 中国电力科学研究院有限公司 | 一种电网调度控制系统的自动化部署系统及方法 |
CN112286503A (zh) * | 2020-10-28 | 2021-01-29 | 平安科技(深圳)有限公司 | 多注册中心的微服务统一管理方法、装置、设备及介质 |
CN112311869A (zh) * | 2020-10-28 | 2021-02-02 | 苏州万店掌网络科技有限公司 | 多类型微服务注册中心管理系统及方法 |
CN112738060A (zh) * | 2020-12-24 | 2021-04-30 | 平安科技(深圳)有限公司 | 微服务数据的处理方法、装置、微服务处理平台及介质 |
CN112910943A (zh) * | 2019-12-04 | 2021-06-04 | 华为技术有限公司 | 一种服务提供方法、装置及系统 |
CN113014666A (zh) * | 2021-03-17 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 一种区块链协议栈架构方法、系统、设备及存储介质 |
CN113347260A (zh) * | 2021-06-09 | 2021-09-03 | 广州易行数字技术有限公司 | 一种基于云端环境的微服务开发方法 |
CN113746928A (zh) * | 2021-09-07 | 2021-12-03 | 中国银行股份有限公司 | 跨云服务调用方法、装置和系统 |
CN113760447A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 服务管理方法、装置、设备、存储介质及程序产品 |
CN114363403A (zh) * | 2021-12-28 | 2022-04-15 | 金蝶医疗软件科技有限公司 | 服务访问方法、系统、计算机设备和存储介质 |
CN114500637A (zh) * | 2022-02-10 | 2022-05-13 | 广州钛动科技有限公司 | 一种微服务通信框架构建方法、装置、设备和介质 |
CN114650317A (zh) * | 2020-12-15 | 2022-06-21 | 中国移动通信有限公司研究院 | 一种微服务系统以及微服务注册、发现和保活方法 |
CN114697340A (zh) * | 2020-12-31 | 2022-07-01 | 深圳云天励飞技术股份有限公司 | 一种多设备接入的注册调度方法及其相关产品 |
CN115134413A (zh) * | 2022-05-16 | 2022-09-30 | 中国人民财产保险股份有限公司 | 微服务集群的注册方法、服务请求处理方法及微服务集群 |
WO2023115579A1 (zh) * | 2021-12-24 | 2023-06-29 | 北京小米移动软件有限公司 | 一种人工智能ai服务提供方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991035A (zh) * | 2017-04-06 | 2017-07-28 | 北京计算机技术及应用研究所 | 一种基于微服务架构的主机监控系统 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
US20180136959A1 (en) * | 2016-11-17 | 2018-05-17 | Red Hat, Inc. | Executing code referenced from a microservice registry |
CN108282368A (zh) * | 2018-01-24 | 2018-07-13 | 云宏信息科技股份有限公司 | 一种微服务管理系统、方法及计算机存储介质 |
CN108418862A (zh) * | 2018-01-31 | 2018-08-17 | 金蝶软件(中国)有限公司 | 基于人工智能服务云平台的微服务管理方法和系统 |
CN108696551A (zh) * | 2017-04-06 | 2018-10-23 | 中兴通讯股份有限公司 | 系统进程间请求寻址的方法和装置 |
CN109067859A (zh) * | 2018-07-20 | 2018-12-21 | 北京航空航天大学 | 一种面向跨域协同服务的双层云架构系统及实现方法 |
-
2018
- 2018-12-29 CN CN201811640256.3A patent/CN109547570B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180136959A1 (en) * | 2016-11-17 | 2018-05-17 | Red Hat, Inc. | Executing code referenced from a microservice registry |
CN106991035A (zh) * | 2017-04-06 | 2017-07-28 | 北京计算机技术及应用研究所 | 一种基于微服务架构的主机监控系统 |
CN108696551A (zh) * | 2017-04-06 | 2018-10-23 | 中兴通讯股份有限公司 | 系统进程间请求寻址的方法和装置 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
CN108282368A (zh) * | 2018-01-24 | 2018-07-13 | 云宏信息科技股份有限公司 | 一种微服务管理系统、方法及计算机存储介质 |
CN108418862A (zh) * | 2018-01-31 | 2018-08-17 | 金蝶软件(中国)有限公司 | 基于人工智能服务云平台的微服务管理方法和系统 |
CN109067859A (zh) * | 2018-07-20 | 2018-12-21 | 北京航空航天大学 | 一种面向跨域协同服务的双层云架构系统及实现方法 |
Non-Patent Citations (1)
Title |
---|
张晶;黄小锋: "一种基于微服务的应用框架", 《计算机系统应用》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278284A (zh) * | 2019-07-10 | 2019-09-24 | 中国民航信息网络股份有限公司 | 一种服务调用方法及装置 |
CN110278284B (zh) * | 2019-07-10 | 2021-09-14 | 中国民航信息网络股份有限公司 | 一种服务调用方法及装置 |
CN110381163A (zh) * | 2019-07-30 | 2019-10-25 | 普信恒业科技发展(北京)有限公司 | 网关节点转发服务请求的方法及网关节点 |
CN110806878A (zh) * | 2019-10-30 | 2020-02-18 | 中国联合网络通信集团有限公司 | 服务管理方法、系统和存储介质 |
CN110806878B (zh) * | 2019-10-30 | 2023-07-04 | 中国联合网络通信集团有限公司 | 服务管理方法、系统和存储介质 |
CN112910943B (zh) * | 2019-12-04 | 2024-03-05 | 华为云计算技术有限公司 | 一种服务提供方法、装置及系统 |
CN112910943A (zh) * | 2019-12-04 | 2021-06-04 | 华为技术有限公司 | 一种服务提供方法、装置及系统 |
CN111309367A (zh) * | 2020-02-19 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 一种管理服务发现的方法、装置、介质和电子设备 |
CN111309367B (zh) * | 2020-02-19 | 2023-07-14 | 北京字节跳动网络技术有限公司 | 一种管理服务发现的方法、装置、介质和电子设备 |
CN111782221A (zh) * | 2020-06-29 | 2020-10-16 | 中国电力科学研究院有限公司 | 一种电网调度控制系统的自动化部署系统及方法 |
CN112286503B (zh) * | 2020-10-28 | 2024-05-28 | 平安科技(深圳)有限公司 | 多注册中心的微服务统一管理方法、装置、设备及介质 |
WO2021203968A1 (zh) * | 2020-10-28 | 2021-10-14 | 平安科技(深圳)有限公司 | 多注册中心的微服务统一管理方法、装置、设备及介质 |
CN112311869A (zh) * | 2020-10-28 | 2021-02-02 | 苏州万店掌网络科技有限公司 | 多类型微服务注册中心管理系统及方法 |
CN112286503A (zh) * | 2020-10-28 | 2021-01-29 | 平安科技(深圳)有限公司 | 多注册中心的微服务统一管理方法、装置、设备及介质 |
CN114650317A (zh) * | 2020-12-15 | 2022-06-21 | 中国移动通信有限公司研究院 | 一种微服务系统以及微服务注册、发现和保活方法 |
CN112738060A (zh) * | 2020-12-24 | 2021-04-30 | 平安科技(深圳)有限公司 | 微服务数据的处理方法、装置、微服务处理平台及介质 |
CN114697340A (zh) * | 2020-12-31 | 2022-07-01 | 深圳云天励飞技术股份有限公司 | 一种多设备接入的注册调度方法及其相关产品 |
CN113760447A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 服务管理方法、装置、设备、存储介质及程序产品 |
CN113014666B (zh) * | 2021-03-17 | 2023-02-28 | 深圳壹账通智能科技有限公司 | 一种区块链协议栈架构方法、系统、设备及存储介质 |
CN113014666A (zh) * | 2021-03-17 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 一种区块链协议栈架构方法、系统、设备及存储介质 |
CN113347260A (zh) * | 2021-06-09 | 2021-09-03 | 广州易行数字技术有限公司 | 一种基于云端环境的微服务开发方法 |
CN113746928A (zh) * | 2021-09-07 | 2021-12-03 | 中国银行股份有限公司 | 跨云服务调用方法、装置和系统 |
WO2023115579A1 (zh) * | 2021-12-24 | 2023-06-29 | 北京小米移动软件有限公司 | 一种人工智能ai服务提供方法和装置 |
CN114363403A (zh) * | 2021-12-28 | 2022-04-15 | 金蝶医疗软件科技有限公司 | 服务访问方法、系统、计算机设备和存储介质 |
CN114363403B (zh) * | 2021-12-28 | 2024-09-06 | 金医慧通科技有限公司 | 服务访问方法、系统、计算机设备和存储介质 |
CN114500637A (zh) * | 2022-02-10 | 2022-05-13 | 广州钛动科技有限公司 | 一种微服务通信框架构建方法、装置、设备和介质 |
CN115134413A (zh) * | 2022-05-16 | 2022-09-30 | 中国人民财产保险股份有限公司 | 微服务集群的注册方法、服务请求处理方法及微服务集群 |
CN115134413B (zh) * | 2022-05-16 | 2024-08-30 | 中国人民财产保险股份有限公司 | 微服务集群的注册方法、服务请求处理方法及微服务集群 |
Also Published As
Publication number | Publication date |
---|---|
CN109547570B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547570A (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN108510389B (zh) | 基于区块链的智能合约调用方法、设备及可读存储介质 | |
CN104158886B (zh) | 一种应用程序的流式执行方法 | |
US10620999B2 (en) | Task scheduling through an operating system agnostic system abstraction layer from a top of the rack switch in a hyper converged infrastructure | |
CN110413288A (zh) | 应用部署方法、装置、服务器及存储介质 | |
US20170083307A1 (en) | Updating Web Resources | |
CN109451088A (zh) | 一种数据访问方法及装置 | |
CN105208047B (zh) | 分布式系统服务器上下线方法及服务器 | |
CN101808131B (zh) | 网络终端版本自动升级方法 | |
CN108319463A (zh) | 一种应用升级方法、装置 | |
CN107800814B (zh) | 虚拟机部署方法及装置 | |
JP2012048330A (ja) | クラスタシステムおよびソフトウェアデプロイ方法 | |
WO2023169175A1 (zh) | 一种请求处理方法、装置、计算机设备和存储装置 | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN110704376A (zh) | 日志文件保存方法及装置 | |
CN105119944B (zh) | 一种应用的启动方法和相关装置 | |
CN112015696B (zh) | 数据访问、数据关系设置方法、装置及存储介质 | |
CN114416508A (zh) | 应用性能监控方法和装置、存储介质及电子设备 | |
CN105897865A (zh) | 一种协议无关的网络文件服务管理系统和方法 | |
CN106302639A (zh) | 一种资源下载方法及装置 | |
CN112698930A (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
CN111400051A (zh) | 一种资源调度方法、装置及系统 | |
CN117149413A (zh) | 一种通用ai算法模型云服务集成部署系统及方法 | |
CN106528192A (zh) | 一种业务逻辑更新方法和装置 | |
CN112333270B (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 |