CN114401311A - 微服务注册及发现方法、装置、电子设备及介质 - Google Patents

微服务注册及发现方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN114401311A
CN114401311A CN202210061336.3A CN202210061336A CN114401311A CN 114401311 A CN114401311 A CN 114401311A CN 202210061336 A CN202210061336 A CN 202210061336A CN 114401311 A CN114401311 A CN 114401311A
Authority
CN
China
Prior art keywords
application
list
gateway
application instance
information
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.)
Pending
Application number
CN202210061336.3A
Other languages
English (en)
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.)
Avatr Technology Chongqing Co Ltd
Original Assignee
Avatr Technology Chongqing Co 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 Avatr Technology Chongqing Co Ltd filed Critical Avatr Technology Chongqing Co Ltd
Priority to CN202210061336.3A priority Critical patent/CN114401311A/zh
Publication of CN114401311A publication Critical patent/CN114401311A/zh
Pending legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供的一种微服务注册及发现方法、装置、电子设备及介质,属于计算机技术领域。该方法包括获取注册中心的第一应用实例列表以及网关的第二应用实例列表;将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较;若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。本申请通过将注册中心存在差异的应用程序实例信息直接推送到网关,可以仅利用一个网关来实现流量网关和业务网关的功能,有效降低运维成本及硬件成本。

Description

微服务注册及发现方法、装置、电子设备及介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种微服务注册及发现方法、装置、电子设备及介质。
背景技术
在分布式应用系统中,网关非常重要,对于后端开发而言网关又分为流量网关和业务网关。流量网关具备高性能(轻松解决海量用户连接)、提供丰富的负载均衡(接受用户的请求并转发给内部的web服务器)、动静分离。业务网关则需要具备丰富的插件拓展机制(新增、修改、删除插件不需要重启应用程序)、丰富的身份校验实现机制、上游服务(内部的web服务器服务列表)的注册发现、主动和被动健康检查以及服务熔断、支持四层协议的代理、对接监控组件等。目前服务的注册及发现的交互报文为应用程序实例信息(唯一标识字段是ip和端口),而网关要借助这些数据来实现负载均衡。
然而,通过多个网关来实现微服务注册及发现,会使得运维成本及硬件成本较高,且微服务注册治理体系复杂。
因此,上述问题是目前亟需解决的技术问题。
发明内容
基于此,有必要针对上述问题,提供一种微服务注册及发现方法、装置、电子设备及介质,旨在改善上述微服务注册及发现中,运维成本及硬件成本较高的问题。
第一方面,本申请提供一种微服务注册及发现方法,所述方法包括:获取注册中心的第一应用实例列表以及网关的第二应用实例列表;将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较;若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
在其中一个实施例中,所述将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较,包括:将所述第一应用实例列表的更新时间与所述第二应用实例列表的更新时间进行比较。
在其中一个实施例中,所述获取注册中心的第一应用实例列表以及网关中的第二应用实例列表,包括:当拦截到来自所述注册中心的应用程序实例信息转发请求时,实时获取所述注册中心的第一应用实例列表;获取本地缓存的所述网关的第二应用实例列表。
在其中一个实施例中,所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表,包括:按照预设周期定时获取所述注册中心的第一应用实例列表;以及,按照预设周期定时获取本地缓存的所述网关的第二应用实例列表。
在其中一个实施例中,在所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表的步骤之前,所述方法还包括:读取配置中心的配置信息,所述配置信息用于指示信息输入源是否为所述注册中心且信息输出源是否为所述网关;若均为是,则执行所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表的步骤。
在其中一个实施例中,所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表,具体包括:根据所述配置信息指示的应用程序实例信息筛选条件,获取所述注册中心的第一应用实例列表以及所述网关的第二应用实例列表。
在其中一个实施例中,在所述实时获取所述注册中心的第一应用实例列表的步骤之前,所述方法还包括:当检测到所述注册中心接收到来自应用程序的新应用程序实例信息时,启动拦截所述注册中心的应用程序实例信息转发请求的操作。
第二方面,基于同样的发明构思,本申请还提供一种微服务注册及发现装置,所述装置包括:读取模块,用于获取注册中心的第一应用实例列表以及网关的第二应用实例列表;比较模块,用于将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较;推送模块,用于若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
此外,第二方面所述的微服务注册及发现装置的技术效果可以参考第一方面所述的微服务注册及发现方法的技术效果,此处不再赘述。
第三方面,本申请还提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现如第一方面任一项所述的微服务注册及发现方法。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理设备运行时执行如第一方面的任一项所述的微服务注册及发现方法的步骤。
附图说明
图1为一实施例中微服务注册及发现方法的流程示意图;
图2为另一实施例中微服务注册及发现方法的流程示意图;
图3为又一实施例中微服务注册及发现方法的流程示意图;
图4为再一实施例中微服务注册及发现方法的流程示意图;
图5为一实施例中的微服务注册及发现装置的模块框图;
图6为一实施例中的电子设备的模块框图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。
本申请的发明人在面对背景技术中存在的技术问题时,分析了当前技术问题产生的原因主要是:通过多个网关来实现,这必然在一定程度上增加了运维成本。
在面对背景技术中存在的技术问题时,本申请的发明人考虑:将背景技术中的流量网关和业务网关合并为一个,如通过nginx网关来实现。nginx网关作为开源社区最为流行的流量网关,其实它也可以作为业务网关,只需要把业务网关的功能特性完全迁移到流量网关中。由于在微服务体系中,一般都会采用比较成熟的注册中心来保存应用程序实例信息,因此,我们在将业务网关的功能特性迁移到流量网关中时,需要提供助一种高效的同步转发方案,以将注册中心的应用程序实例信息保存到网关(如nginx)中,即实现了当应用程序启动时自动将应用程序实例信息注册到网关(nginx)中,当应用程序关闭或异常崩溃时自动销毁网关(nginx)中注册的应用程序实例信息。
下面,将结合附图1-6,对本发明提供的微服务注册及发现方法进行详细的描述。可以理解的是,本申请的微服务注册及发现方法,其负载均衡以及应用程序实例信息的修改以及新增均通过同一个网关执行。该方法的执行主体可由注册中心转发程序或转发模块来执行,主要目标是:将注册中心应用实例列表中的应用程序实例信息高效地转发给前述网关,实现注册中心与网关中应用程序实例信息(交互报文)的及时同步,解决多网关带来的运维成本高,微服务注册与发现管理复杂的问题。
示例性地,图1为本申请实施例提供的微服务注册及发现方法的流程图,该微服务注册及发现方法包括如下步骤:
步骤S201,获取注册中心的第一应用实例列表以及网关的第二应用实例列表。
其中,第一应用实例列表、第二应用实例列表均用于存储应用程序实例信息。当一个应用程序启动时,该应用程序会将其新注册的应用程序实例信息注册到注册中心中。当一个应用程序关闭时,该应用程序会将其对应需要销毁的应用程序实例信息通知注册中心。注册中心接收到新注册的应用程序实例信息注册或需要销毁的应用程序实例信息时,对该信息进行存储,并通过注册中心转发程序转发给网关。
可以理解的是,注册中心的第一应用实例列表中存储的应用程序实例信息与网关中的第二应用实例列表中存储的应用程序实例信息可能相同,也可能不同。若注册中心转发程序将注册中心的应用程序实例信息转发至网关之后,无新的应用程序启动或运行的应用程序未关闭,则注册中心存储的应用程序实例信息与网关存储的应用程序实例信息则相同,若有新的应用程序启动或运行的应用程序有关闭,则注册中心存储的应用程序实例信息与网关存储的应用程序实例信息则可能不同。
应理解,为了提高负载均衡,注册中心同步转发程序可以支持多台部署。当进行多台部署时,应用程序启动时会自动进行选主(例如采用raft协议进行选主),只有被选中的注册中心同步转发才会执行应用程序实例信息的监听与转发。
步骤S203,将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较。
步骤S205,若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
步骤S203-S205中,注册中心转发程序在将第一应用实例列表的应用程序实例信息与第二应用实例列表中的应用程序实例信息进行比较时,具体操作方式可以有两种方式:
第一种方式是:定时主动拉取现有注册中心的全量未下线(关闭)的第一应用实例列表,同时获取网关中的第二应用实例列表,由于网关中的第二应用实例列表是通过注册中心转发程序转发的,所以注册中心转发程序本地可以缓存有该网关中的第二应用实例列表。然后对比第二应用实例列表和第一应用实例列表是否存在差异,并在存在差异时将存在差异的信息推送至nginx网关中,以实现nginx网关中应用程序实例信息的更新。但这种方式实时性较差(默认10s以内),若时间设置太短同时实例数据太多会出现性能瓶颈。
第二种方式是:注册中心转发程序提供被动监听触发机制,可以监听注册中心的数据变化(如应用程序启动时对应的应用程序实例信息或应用程序销毁时对应的应用程序实例信息),然后按照前述方式,对比版本差异并更新nginx网关中的注册信息,这种实现方式是实时性很高,可以达到毫秒级。
可以理解的是,注册中心转发程序在对第一应用实例列表和第二应用实例列表进行比较时,可以通过比较两个应用实例列表的更新时间来判断是否存在差异来判断。
注册中心转发程序在将差异应用程序实例信息推送到网关之后,网关即可根据该差异应用程序实例信息更新第二应用实例列表,并将更新后的第二应用实例列表进行持久化存储。
举例来说,当发现注册中心存储的应用程序A的应用程序实例信息的更新时间晚于网关上的应用程序A的应用程序实例信息的更新时间,则表示所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,然后将注册中心的应用程序A的应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
本发明实施例的方法,通过对比注册中心的应用程序实例信息与网关的应用程序实例信息,确定二者存储的应用程序实例信息是否存在差异,并在存在差异时,将差异应用程序实例信息推送到网关,使得网关可以根据该差异应用程序实例信息更新应用实例列表,实现注册中心应用程序实例信息的高效转发,保障了注册中心与网关交互报文的一致性。当应用程序启动或销毁后无需重复建设业务网关,可以降低开发量,节约开发成本,可以有效降低运维成本及硬件成本。
在获取注册中心的第一应用实例列表以及网关的第二应用实例列表时,可以实时获取,即有应用程序启动或关闭时,此时注册中心的数据发生变化,进行实时获取。下面,将通过图2所示的实施例进行详细描述。
示例性地,如图2所示本申请实施例还提供另一种微服务注册及发现方法,该微服务注册及发现方法具体包括如下步骤:
步骤S301,当检测到注册中心接收到来自应用程序的新应用程序实例信息时,启动拦截注册中心的应用程序实例信息转发请求的操作。
步骤S302,当拦截到来自注册中心的应用程序实例信息转发请求时,实时获取所述注册中心的第一应用实例列表。
可以理解的是,当工作人员将应用程序(如java程序)手动启动或关闭时,应用程序将自动更新应用程序实例信息到注册中心。注册中心转发程序检测注册中心的数据变化,当检测到注册中心接收到来自应用程序的新应用程序实例信息时,通过注册中心提供的API(Application Programming Interface,应用程序编程接口)和SDK(SoftwareDevelopment Kit,软件开发工具包),拦截来自注册中心的应用程序实例信息转发请求。
步骤S303,获取本地缓存的网关的第二应用实例列表。
在此种实时获取的方式中,网关的第二应用实例列表在注册中心转发程序中有缓存,因此此时可以直接在本地缓存中获取该数据,以提升实时性。
步骤S304,将第一应用实例列表的更新时间与第二应用实例列表的更新时间进行比较。
继续以上述例子为例,假设网关上存储的应用程序A的应用程序实例信息的更新时间为2021.08.01,07:10,而注册中心存储的应用程序A的应用程序实例信息的更新时间为2021.08.01,08:10。将两者的更新时间进行比较,发现注册中心存储的应用程序A的应用程序实例信息的更新时间晚于网关上的应用程序A的应用程序实例信息的更新时间。
步骤S305,若第一应用实例列表的应用程序实例信息与第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
在上述实现过程中,当注册中心转发程序拦截到来自注册中心的应用程序实例信息转发请求时,实时获取所述注册中心的第一应用实例列表以及本地缓存的网关的第二应用实例列表,根据更新时间的比较将差异应用程序实例信息推送到所述网关,以使得网关根据该差异应用程序实例信息更新所述第二应用实例列表,实现注册中心应用程序实例信息的高效转发,保障了注册中心与网关交互报文的一致性,可以有效提高微服务注册与发行的实时性。当应用程序启动或销毁后无需重复建设业务网关,可以降低开发量,节约开发成本,可以有效降低运维成本及硬件成本。
前述图2中的实施例描述的是当应用程序启动或关闭时,应用程序实例信息进行更新的方法,但考虑到网关重启、注册中心同步转发程序重启都可能导致数据丢失。因此,为了保证方案的可靠性,作为单独一种实施方式或者是图2实施例的建设补充,提出了图3所示的微服务注册及发现方法。
示例性地,如图3所示本申请实施例还提供一种微服务注册及发现方法,该微服务注册及发现方法具体包括如下步骤:
步骤S401,按照预设周期定时获取所述注册中心的第一应用实例列表。
步骤S403,按照预设周期定时获取本地缓存的网关的第二应用实例列表。
可选地,预设周期可以是一周(即7天)或者是其他时段(如3天、5天、1个月等)。在此,不作具体限定。
步骤S405,将第一应用实例列表的更新时间与第二应用实例列表的更新时间进行比较。
步骤S407,若第一应用实例列表的应用程序实例信息与第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到网关,以使得该网关根据差异应用程序实例信息更新第二应用实例列表。
需要说明的是,步骤S403至步骤S407的具体实施方式请参照步骤S303至步骤S305的描述,在此,不再赘述。
在上述实现过程中,提供了一种定时全量更新机制,即按照预设周期定时获取所述注册中心的第一应用实例列表以及所述网关的第二应用实例列表,对二者进行比较以及将比较得到的差异应用程序实例信息推送到所述网关,以使得在在用户不介入的前提下,可以主动对网关中的应用程序实例进行更新,避免了网关重启、注册中心同步转发程序重启等导致的数据丢失的问题,提升了整个微服务注册及发现的数据的可靠性。
前述图1中的实施例描述的是一种实时增量监听触发机制,但考虑到注册中心同步转发程序进行多台部署时,只有主节点才会执行同步流程。因此,为了保证方案的可靠性,作为单独一种实施方式或者是图1实施例的建设补充,提出了图4所示的微服务注册及发现方法。
示例性地,如图4所示,本申请实施例再提供一种微服务注册及发现方法,该微服务注册及发现方法具体包括如下步骤:
步骤S501,读取配置中心的配置信息,配置信息用于指示信息输入源是否为注册中心且信息输出源是否为网关。
可选地,配置信息可以是预先配置的,也可以是动态配置的,在此,不作具体限定。
步骤S503,若均为是,根据配置信息指示的应用程序实例信息筛选条件,获取注册中心的第一应用实例列表以及网关的第二应用实例列表。也就是说,步骤S503只有当指示信息输入源为所述注册中心且信息输出源为所述网关时,才会执行步骤505,否则会重复执行步骤S501。
步骤S505,将第一应用实例列表的更新时间与第二应用实例列表的更新时间进行比较。
步骤S507,若第一应用实例列表的应用程序实例信息与第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
需要说明的是,步骤S505与步骤S507的具体实施方式请参照步骤S305与步骤S307的描述,在此,不再赘述。
在上述实现过程中,通过读取配置中心的配置信息,所述配置信息用于指示信息输入源是否为所述注册中心且信息输出源是否为所述网关,以便于在满足转发条件时,才执行后续的比较与转发操作。
基于图1至图4详细说明了本申请实施例提供的微服务注册及发现方法,以下结合图5详细说明用于执行本申请实施例提供的微服务注册及发现方法的微服务注册及发现装置。
示例性地,图5是本申请实施例提供的微服务注册及发现装置的结构示意图。如图5所示,微服务注册及发现装置400包括:读取模块410、比较模块420和推送模块430。
其中,读取模块410,用于获取注册中心的第一应用实例列表以及网关的第二应用实例列表;
比较模块420,用于将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较;
推送模块430,用于若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
需要说明的是,该微服务注册及发现装置400的具体功能请参照上述方法实施例的描述,在此,不再赘述。
示例性地,如图6所示,本申请还提供了一种电子设备500,在本申请中可以通过图6所示的示意图来描述用于实现本申请实施例的微服务注册及发现方法和微服务注册及发现装置的示例的电子设备500。
其中,该电子设备500包括一个或多个处理器502和一个或多个存储器504,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图6所示的电子设备500的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备可以具有图6示出的部分组件,也可以具有图6未示出的其他组件和结构。
所述处理器502可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备500中的其它组件以执行期望的功能。
应理解,在本申请实施例中的处理器502可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器504用于存储可执行指令,可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质。
应理解,本申请实施例中的存储器504可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
其中,在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器502可以运行所述程序指令,以实现下文所述的本申请实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
进一步地,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可用于执行本发明上述实施例中任一实施例所描述的方法。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种微服务注册及发现方法,其特征在于,所述方法包括:
获取注册中心的第一应用实例列表以及网关的第二应用实例列表;
将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较;
若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较,包括:
将所述第一应用实例列表的更新时间与所述第二应用实例列表的更新时间进行比较。
3.根据权利要求1所述的方法,其特征在于,所述获取注册中心的第一应用实例列表以及网关中的第二应用实例列表,包括:
当拦截到来自所述注册中心的应用程序实例信息转发请求时,实时获取所述注册中心的第一应用实例列表;
获取本地缓存的所述网关的第二应用实例列表。
4.根据权利要求1或3所述的方法,其特征在于,所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表,包括:
按照预设周期定时获取所述注册中心的第一应用实例列表;以及,
按照预设周期定时获取本地缓存的所述网关的第二应用实例列表。
5.根据权利要求1-3中任意一项所述的方法,其特征在于,在所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表的步骤之前,所述方法还包括:
读取配置中心的配置信息,所述配置信息用于指示信息输入源是否为所述注册中心且信息输出源是否为所述网关;
若均为是,则执行所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表的步骤。
6.根据权利要求5所述的方法,其特征在于,所述获取注册中心的第一应用实例列表以及网关的第二应用实例列表,具体包括:
根据所述配置信息指示的应用程序实例信息筛选条件,获取所述注册中心的第一应用实例列表以及所述网关的第二应用实例列表。
7.根据权利要求3所述的方法,其特征在于,在所述实时获取所述注册中心的第一应用实例列表的步骤之前,所述方法还包括:
当检测到所述注册中心接收到来自应用程序的新应用程序实例信息时,启动拦截所述注册中心的应用程序实例信息转发请求的操作。
8.一种微服务注册及发现装置,其特征在于,所述装置包括:
读取模块,用于获取注册中心的第一应用实例列表以及网关的第二应用实例列表;
比较模块,用于将所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例信息进行比较;
推送模块,用于若所述第一应用实例列表的应用程序实例信息与所述第二应用实例列表中的应用程序实例存在差异,则将差异应用程序实例信息推送到所述网关,以使得所述网关根据所述差异应用程序实例信息更新所述第二应用实例列表。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至7任一项所述的微服务注册及发现方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理设备运行时执行如权利要求1-7的任一项所述的微服务注册及发现方法的步骤。
CN202210061336.3A 2022-01-19 2022-01-19 微服务注册及发现方法、装置、电子设备及介质 Pending CN114401311A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210061336.3A CN114401311A (zh) 2022-01-19 2022-01-19 微服务注册及发现方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210061336.3A CN114401311A (zh) 2022-01-19 2022-01-19 微服务注册及发现方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN114401311A true CN114401311A (zh) 2022-04-26

Family

ID=81231364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210061336.3A Pending CN114401311A (zh) 2022-01-19 2022-01-19 微服务注册及发现方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114401311A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817821A (zh) * 2022-06-30 2022-07-29 数字广东网络建设有限公司 一种政务信息的显示方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080033845A1 (en) * 2006-07-21 2008-02-07 Mcbride Brian Publication Subscription Service Apparatus And Methods
US20180027080A1 (en) * 2016-07-22 2018-01-25 Cisco Technology, Inc. Scaling service discovery in a micro-service environment
CN107948284A (zh) * 2017-11-24 2018-04-20 泰康保险集团股份有限公司 一种基于微服务架构的服务下线方法、设备和系统
CN108965442A (zh) * 2018-07-23 2018-12-07 珠海宏桥高科技有限公司 一种微服务架构服务分发系统及模式优化方法
CN111049854A (zh) * 2019-12-25 2020-04-21 微民保险代理有限公司 一种服务请求的传输方法和装置
US20200159592A1 (en) * 2018-11-16 2020-05-21 International Business Machines Corporation Selection of ranked service instances in a service infrastructure
CN112217894A (zh) * 2020-10-12 2021-01-12 浙江大学 一种基于动态权重的负载均衡系统
CN112235364A (zh) * 2020-09-29 2021-01-15 石家庄市善理通益科技有限公司 一种对讲服务集群的业务级联拓展方法及其执行单元

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080033845A1 (en) * 2006-07-21 2008-02-07 Mcbride Brian Publication Subscription Service Apparatus And Methods
US20180027080A1 (en) * 2016-07-22 2018-01-25 Cisco Technology, Inc. Scaling service discovery in a micro-service environment
CN107948284A (zh) * 2017-11-24 2018-04-20 泰康保险集团股份有限公司 一种基于微服务架构的服务下线方法、设备和系统
CN108965442A (zh) * 2018-07-23 2018-12-07 珠海宏桥高科技有限公司 一种微服务架构服务分发系统及模式优化方法
US20200159592A1 (en) * 2018-11-16 2020-05-21 International Business Machines Corporation Selection of ranked service instances in a service infrastructure
CN111049854A (zh) * 2019-12-25 2020-04-21 微民保险代理有限公司 一种服务请求的传输方法和装置
CN112235364A (zh) * 2020-09-29 2021-01-15 石家庄市善理通益科技有限公司 一种对讲服务集群的业务级联拓展方法及其执行单元
CN112217894A (zh) * 2020-10-12 2021-01-12 浙江大学 一种基于动态权重的负载均衡系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817821A (zh) * 2022-06-30 2022-07-29 数字广东网络建设有限公司 一种政务信息的显示方法、装置、电子设备及存储介质
CN114817821B (zh) * 2022-06-30 2022-09-16 数字广东网络建设有限公司 一种政务信息的显示方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
KR101997176B1 (ko) 피어-투-피어 소프트웨어 업데이트
CN109905457B (zh) 主从服务器数据同步方法、装置、计算机设备和存储介质
WO2020151181A1 (zh) 基于区块链的跨平台数据更新方法、装置和计算机设备
US8639786B2 (en) Consistency domains for replication in distributed computing
US10880104B2 (en) Methods and apparatus to manage timing in a blockchain network
CN108744504B (zh) 游戏数据的处理方法及装置、游戏服务器、游戏系统
CN110377431B (zh) 多注册中心场景下服务调用方法及装置
CN112751847A (zh) 接口调用请求的处理方法、装置、电子设备及存储介质
WO2020228292A1 (zh) 数据提交请求的处理方法、装置和计算机设备
WO2017113280A1 (zh) 分布式存储系统及管理元数据的方法
CN111416836B (zh) 基于Nginx的服务器维护方法、装置、计算机设备及存储介质
WO2018071432A1 (en) Information pushing
WO2016082594A1 (zh) 数据更新处理方法及装置
WO2020224098A1 (zh) 基于全局负载均衡的云存取方法、装置及存储介质
CN114401311A (zh) 微服务注册及发现方法、装置、电子设备及介质
CN111159233A (zh) 分布式缓存方法、系统、计算机设备以及存储介质
CN110866011B (zh) 数据表同步方法、装置、计算机设备和存储介质
WO2022095678A1 (zh) 一种消息推送方法及消息服务系统
CN114422343A (zh) 业务配置方法、设备、系统及计算机可读存储介质
CN111752577B (zh) 一种系统版本的升级方法及设备
CN112965837A (zh) 配置和服务热重载更新方法、装置、计算机设备及存储介质
CN112069152A (zh) 一种数据库集群升级方法、装置、设备以及存储介质
CN114217986A (zh) 数据处理方法、装置、设备、存储介质及产品
CN113660988A (zh) 数据处理方法、装置、系统、设备及计算机可读存储介质
CN113704670A (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