基于微服务架构的分级注册方法、装置、存储介质及设备与流程

文档序号:21719136发布日期:2020-08-05 01:08阅读:136来源:国知局
基于微服务架构的分级注册方法、装置、存储介质及设备与流程

本发明涉及微服务技术领域,尤其涉及一种基于微服务架构的分级注册方法、装置、存储介质及设备。



背景技术:

在大型微服务系统中,由于微服务之间存在复杂的调用关系,导致微服务客户端在系统中的重要程度不同。其中,如果一个微服务被调用的次数越多,该微服务在该系统中发挥的作用越重要,而且,重要的微服务客户端消耗的资源的比重大,对系统的影响大,如果它出现异常,将给整个系统带来严重后果。因此,当微服务系统中存在大量微服务客户端以及复杂调用关系时,需要对其进行重点保护,以维持系统的稳定性。

现有技术中,对重点微服务的保护一般采取的应对方法有限流、服务降级等措施。但是,这些方法的实现在于其在关闭一部分系统功能的前提下对重要微服务的资源进行简单的横向扩展,既降低了用户体验,又没有做到系统资源的合理分配。



技术实现要素:

本发明解决的技术问题:传统技术在采用限流或是服务降级等方法实现对重点微服务的保护时,不仅会降低用户体验,且无法实现系统资源合理分配。

鉴于上述问题,本发明提出了一种基于微服务架构的分级注册方法、装置、存储介质及设备,不仅实现了系统资源的合理分配,还有效地提高了微服务系统中服务调用的性能以及系统的稳定性。

本发明的一个方面,提供了一种基于微服务架构的分级注册方法,所述方法包括:

当接收到微服务客户端发出的注册中心查询请求时,根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级;

根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心;

向所述微服务客户端发送查询响应消息,所述查询响应消息中携带所述匹配优先等级后的注册中心的地址信息,以供所述微服务客户端根据所述匹配优先等级后的注册中心的地址信息进行注册。

可选地,所述根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级,包括:

根据所述注册中心查询请求中携带的微服务标识查找预设的对应关系表,以获取当前微服务的优先等级,所述对应关系表中记录有微服务标识与微服务标识相应的微服务的优先等级之间的对应关系。

可选地,在所述根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级之前,所述方法还包括:

根据所述微服务客户端的地址信息的历史调用次数确定当前微服务的优先等级,并根据历史调用记录获取当前微服务的微服务标识;

将当前微服务的优先等级以及当前微服务的微服务标识填加到预设的对应关系表中。

可选地,所述根据所述微服务客户端的地址信息的历史调用次数确定当前微服务的优先等级,包括:

统计各个微服务对应的微服务客户端的地址信息的历史调用次数;

按照历史调用次数依次对各个微服务进行排序,生成服务查询排名列表;

根据当前微服务在所述服务查询排名列表中的排序确定当前微服务的优先等级。

可选地,所述根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心,还包括:

若与所述优先等级匹配的注册中心连接的微服务客户端的数量满足预设阈值时,将未分配的微服务分配到下一级别的注册中心。

本发明的另一个方面,提供了一种基于微服务架构的分级注册装置,包括:

判定模块,用于当接收到微服务客户端发出的注册中心查询请求时,根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级;

分配模块,用于根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心;

通信模块,用于向所述微服务客户端发送查询响应消息,所述查询响应消息中携带所述匹配优先等级后的注册中心的地址信息,以供所述微服务客户端根据所述匹配优先等级后的注册中心的地址信息进行注册。

可选地,所述判定模块,具体用于根据所述注册中心查询请求中携带的微服务标识查找预设的对应关系表,以获取当前微服务的优先等级,所述对应关系表中记录有微服务标识与微服务标识相应的微服务的优先等级之间的对应关系。

可选地,所述装置还包括:

统计模块,用于在所述根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级之前,根据所述微服务客户端的地址信息的历史调用次数确定当前微服务的优先等级,并根据历史调用记录获取当前微服务的微服务标识;

配置模块,用于将当前微服务的优先等级以及当前微服务的微服务标识填加到预设的对应关系表中。

可选地,所述统计模块,具体用于统计各个微服务对应的微服务客户端的地址信息的历史调用次数;按照历史调用次数依次对各个微服务进行排序,生成服务查询排名列表;根据当前微服务在所述服务查询排名列表中的排序确定当前微服务的优先等级。

此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。

此外,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。

本发明实施例提供的基于微服务架构的分级注册方法、装置、存储介质及设备,通过根据当前微服务的优先等级将微服务客户端的地址信息分配到与所述优先等级匹配的注册中心,实现了将重要的微服务和其他的微服务使用的注册中心按照资源分级配置,当不同的微服务客户端请求注册中心的时候,给高优先级别的微服务提供优质的注册中心资源,不仅实现了系统资源的合理分配,还有效地提高了微服务系统中服务调用的性能以及系统的稳定性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的一种基于微服务架构的分级注册方法的流程示意图;

图2为本发明实施例的一种基于微服务架构中注册中心的部署结构示意图;

图3为本发明实施例的一种基于微服务架构的分级注册装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1示意性示出了本发明一个实施例的基于微服务架构的分级注册方法的流程图。参照图1,本发明实施例提出的基于微服务架构的分级注册方法具体包括步骤s11~s13,如下所示:

s11、当接收到微服务客户端发出的注册中心查询请求时,根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级。

本实施例中,注册中心是系统的核心,是整个微服务系统的信息中心,主要负责注册和更新微服务客户端的信息、管理微服务客户端的在线情况和提供查询已在册微服务客户端信息的功能。微服务客户端则是系统的基石,是系统功能的实际执行者。具体的,微服务在注册中心查询到对应的提供服务的微服务客户端的地址信息,然后通过该信息调用该微服务客户端来实现相对应的业务功能。

为了解决当微服务系统中存在大量微服务客户端以及复杂调用关系时,系统的稳定性问题,本实施例中,预先确定每一微服务对应的优先等级,并将微服务标识与相应微服务的优先等级之间的对应关系进行保存,当微服务客户端发出的注册中心查询请求时,根据注册中心查询请求中携带的微服务标识确定当前微服务的优先等级,以便根据当前微服务的优先等级为其分配合适的注册中心。

s12、根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心。

本实施例中,不同级别的注册中心对应物理机器的配置不同,不同优先等级的微服务匹配不同级别的注册中心。其中,配置不同可以是硬件配置不同、软件配置不同,或软硬件配置均不相同。

具体的,本发明将系统中的注册中心部署到不同的物理机器上,每个物理机器的配置存在显著的差异,根据物理机器配置的不同将注册中心分级为a级、b级、c级等多级别,不同优先等级的微服务匹配不同级别的注册中心为其提供资源,以实现系统资源的合理分配。

s13、向所述微服务客户端发送查询响应消息,所述查询响应消息中携带所述匹配优先等级后的注册中心的地址信息,以供所述微服务客户端根据所述匹配优先等级后的注册中心的地址信息进行注册。

本实施例中,当微服务客户端发出注册中心查询请求后,首先确定当前微服务的优先等级,然后根据微服务的优先等级匹配到微服务对应的某一级别的注册中心的地址,一个该微服务客户端根据匹配的地址和注册中心进行交互。

本发明实施例提供的基于微服务架构的分级注册方法,通过根据当前微服务的优先等级将微服务客户端的地址信息分配到与所述优先等级匹配的注册中心,实现了将重要的微服务和其他的微服务使用的注册中心按照资源分级配置,当不同的微服务客户端请求注册中心的时候,给高优先级别的微服务提供优质的注册中心资源。本发明不仅提高了微服务系统中服务调用的性能以及系统的稳定性,还能够节省整个微服务系统的部署成本。

在本发明实施例中,所述根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级,进一步地包括以下步骤:根据所述注册中心查询请求中携带的微服务标识查找预设的对应关系表,以获取当前微服务的优先等级,所述对应关系表中记录有微服务标识与微服务标识相应的微服务的优先等级之间的对应关系。

进一步地,在所述根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级之前,还包括以下步骤:

根据所述微服务客户端的地址信息的历史调用次数确定当前微服务的优先等级,并根据历史调用记录获取当前微服务的微服务标识。确定当前微服务的优先等级的具体实现包括如下步骤:统计各个微服务对应的微服务客户端的地址信息的历史调用次数。按照历史调用次数依次对各个微服务进行排序,生成服务查询排名列表;根据当前微服务在所述服务查询排名列表中的排序确定当前微服务的优先等级。

将当前微服务的优先等级以及当前微服务的微服务标识填加到预设的对应关系表中。

本实施例中,通过统计注册中心上所有已经注册的微服务的微服务客户端的地址信息的历史调用次数,并按照历史调用次数依次对各个微服务进行排序,生成服务查询排名列表。该查询排名列表决定微服务在系统中的优先等级。然后根据各个微服务的优先等级进行注册中心的分配,实现负载均衡。

更具体地说,可以将按照排名列表中的顺序批量依次分配注册中心的地址给对应的微服务客户端,其中,这个数量根据不同级别的注册中心的最适合的微服务连接数量而定。

在一个具体实施中,如图2所示,系统中的注册中心部署到不同的物理机器上,每个物理机器的配置存在显著的差异,根据物理机器配置的不同将注册中心分级为a级、b级、c级甚至更多级别等。通过统计注册中心上所有已经注册的微服务的微服务客户端的地址信息的历史调用次数,并生成查询排名列表。然后根据各个微服务在所述服务查询排名列表中的排序确定各个微服务的优先等级,按照各个微服务的优先等级实现注册中心的资源分级配置。当微服务客户端发出查询注册中心的请求后,负载均衡根据微服务的优先级将请求依次对应分配到a级、b级、c级等的注册中心中。

在本发明实施例中,所述根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心,还包括:若与所述优先等级匹配的多个注册中心连接的微服务客户端的数量满足预设阈值时,将未分配的微服务分配到下一级别的注册中心。

具体的,本实施例中同一等级的注册中心的数量不限于一个,在具体应用中,可将与当前微服务的优先等级相同的其他微服务依次分配到与所述优先等级匹配的任一其他注册中心,当同一等级的所有注册中心连接的微服务客户端的数量均满足预设阈值时,将未分配的微服务分配到下一级别的注册中心。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图3示意性示出了本发明一个实施例的基于微服务架构的分级注册装置的结构示意图。参照图3,本发明实施例的基于微服务架构的分级注册装置具体包括判定模块301、分配模块302以及通信模块303,其中:

判定模块301,用于当接收到微服务客户端发出的注册中心查询请求时,根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级;

分配模块302,用于根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心;

通信模块303,用于向所述微服务客户端发送查询响应消息,所述查询响应消息中携带所述匹配优先等级后的注册中心的地址信息,以供所述微服务客户端根据所述匹配优先等级后的注册中心的地址信息进行注册。

在本发明实施例中,所述判定模块301,具体用于根据所述注册中心查询请求中携带的微服务标识查找预设的对应关系表,以获取当前微服务的优先等级,所述对应关系表中记录有微服务标识与微服务标识相应的微服务的优先等级之间的对应关系。

在本发明实施例中,所述装置还包括附图中未示出的统计模块和配置模块,其中:

统计模块,用于在所述根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级之前,根据所述微服务客户端的地址信息的历史调用次数确定当前微服务的优先等级,并根据历史调用记录获取当前微服务的微服务标识;

配置模块,用于将当前微服务的优先等级以及当前微服务的微服务标识填加到预设的对应关系表中。

进一步地,所述统计模块,具体用于统计各个微服务对应的微服务客户端的地址信息的历史调用次数;按照历史调用次数依次对各个微服务进行排序,生成服务查询排名列表;根据当前微服务在所述服务查询排名列表中的排序确定当前微服务的优先等级。

在本发明实施例中,分配模块302,还用于若与所述优先等级匹配的注册中心连接的微服务客户端的数量满足预设阈值时,将未分配的微服务分配到下一级别的注册中心。

具体的,本实施例中同一等级的注册中心的数量不限于一个,在具体应用中,分配模块302,可将与当前微服务的优先等级相同的其他微服务依次分配到与所述优先等级匹配的任一其他注册中心,当同一等级的所有注册中心连接的微服务客户端的数量均满足预设阈值时,将未分配的微服务分配到下一级别的注册中心。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

本发明实施例提供的基于微服务架构的分级注册方法、装置、存储介质及设备,通过根据当前微服务的优先等级将微服务客户端的地址信息分配到与所述优先等级匹配的注册中心,实现了将重要的微服务和其他的微服务使用的注册中心按照资源分级配置,当不同的微服务客户端请求注册中心的时候,给高优先级别的微服务提供优质的注册中心资源,不仅实现了系统资源的合理分配,还有效地提高了微服务系统中服务调用的性能以及系统的稳定性。

此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。

本实施例中,所述基于微服务架构的分级注册装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个基于微服务架构的分级注册方法实施例中的步骤,例如图1所示的步骤s11、当接收到微服务客户端发出的注册中心查询请求时,根据所述注册中心查询请求中携带的微服务标识确定当前微服务的优先等级。s12、根据当前微服务的优先等级将所述微服务客户端的地址信息分配到与所述优先等级匹配的注册中心。s13、向所述微服务客户端发送查询响应消息,所述查询响应消息中携带所述匹配优先等级后的注册中心的地址信息,以供所述微服务客户端根据所述匹配优先等级后的注册中心的地址信息进行注册。或者,所述处理器执行所述计算机程序时实现上述各基于微服务架构的分级注册装置实施例中各模块/单元的功能,例如图3所示的判定模块301、分配模块302以及通信模块303。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述基于微服务架构的分级注册装置中的执行过程。例如,所述计算机程序可以被分割成判定模块301、分配模块302以及通信模块303。

所述电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,本实施例中的电子设备可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述电子设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1