CN116668510A - 基于微服务架构的注册中心的连接方法、装置及设备 - Google Patents

基于微服务架构的注册中心的连接方法、装置及设备 Download PDF

Info

Publication number
CN116668510A
CN116668510A CN202310686694.8A CN202310686694A CN116668510A CN 116668510 A CN116668510 A CN 116668510A CN 202310686694 A CN202310686694 A CN 202310686694A CN 116668510 A CN116668510 A CN 116668510A
Authority
CN
China
Prior art keywords
session
micro
information
service system
node
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
CN202310686694.8A
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202310686694.8A priority Critical patent/CN116668510A/zh
Publication of CN116668510A publication Critical patent/CN116668510A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种基于微服务架构的注册中心的连接方法、装置及设备,可用于分布式领域。该方法包括:确定需要访问的第一微服务系统的访问地址信息;其中,第一微服务系统中包括第一注册中心;根据访问地址信息,向第一微服务系统发送访问请求;接收第一微服务系统返回的会话列表;其中,会话列表中包括:至少一个会话信息;会话信息包括第二会话节点的标识信息;第二会话节点为第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;在会话列表中,确定目标会话信息;基于目标会话信息,和目标注册中心建立会话连接,通过上述方法,可以确保客户端设备可以连接至可连接的注册中心。

Description

基于微服务架构的注册中心的连接方法、装置及设备
技术领域
本申请涉及分布式领域,尤其涉及一种基于微服务架构的注册中心的连接方法、装置及设备。
背景技术
目前,银行的系统架构通常采用多地多注册中心的部署架构进行部署,其中,注册中心是服务之间能够相互调用的基础必要条件。在微服务架构下,服务提供方可以将其能够提供的服务注册至注册中心,以便服务消费方可以在注册中心中查询可用的服务,进而实现对服务的调用。
然而,当注册中心发生故障时,如何确保服务消费方和服务提供方仍可以实现服务查询和服务注册,是一个亟需解决的问题。
发明内容
本申请提供一种基于微服务架构的注册中心的连接方法、装置及设备,用以解决相关技术中一个注册中心发生故障时,客户端设备无法进行服务注册和/或查询的问题。
第一方面,本申请提供一种基于微服务架构的注册中心的连接方法,应用于客户端设备,所述方法包括:
确定需要访问的第一微服务系统的访问地址信息;其中,所述第一微服务系统中包括第一注册中心;
根据所述访问地址信息,向所述第一微服务系统发送访问请求;其中,所述访问请求用于请求与所述第一注册中心建立会话连接;所述第一注册中心具有多个第一会话节点;所述第一会话节点为用于提供与客户端设备建立会话连接的服务;
接收所述第一微服务系统返回的会话列表;其中,所述会话列表中包括:至少一个会话信息;所述会话信息包括第二会话节点的标识信息;所述第二会话节点为所述第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;所述第二微服务系统中包括第二注册中心,所述第二注册中心中包括多个第三会话节点;
在所述会话列表中,确定目标会话信息;
基于所述目标会话信息,和目标注册中心建立会话连接,其中,所述目标注册中心为包括所述目标会话信息所对应的会话节点的注册中心。
第二方面,本申请提供一种基于微服务架构的注册中心的连接装置,应用于客户端设备,所述装置包括:
第一确定单元,用于确定需要访问的第一微服务系统的访问地址信息;其中,所述第一微服务系统中包括第一注册中心;
发送单元,用于根据所述访问地址信息,向所述第一微服务系统发送访问请求;其中,所述访问请求用于请求与所述第一注册中心建立会话连接;所述第一注册中心具有多个第一会话节点;所述第一会话节点为用于提供与客户端设备建立会话连接的服务;
第一接收单元,用于接收所述第一微服务系统返回的会话列表;其中,所述会话列表中包括:至少一个会话信息;所述会话信息包括第二会话节点的标识信息;所述第二会话节点为所述第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;所述第二微服务系统中包括第二注册中心,所述第二注册中心中包括多个第三会话节点;
第二确定单元,用于在所述会话列表中,确定目标会话信息;
连接单元,用于基于所述目标会话信息,和目标注册中心建立会话连接,其中,所述目标注册中心为包括所述目标会话信息所对应的会话节点的注册中心。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请提供的基于微服务架构的注册中心的连接方法、装置及设备,该方法应用于客户端设备,该方法包括:确定需要访问的第一微服务系统的访问地址信息;其中,所述第一微服务系统中包括第一注册中心;根据所述访问地址信息,向所述第一微服务系统发送访问请求;其中,所述访问请求用于请求与所述第一注册中心建立会话连接;所述第一注册中心具有多个第一会话节点;所述第一会话节点为用于提供与客户端设备建立会话连接的服务;接收所述第一微服务系统返回的会话列表;其中,所述会话列表中包括:至少一个会话信息;所述会话信息包括第二会话节点的标识信息;所述第二会话节点为所述第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;所述第二微服务系统中包括第二注册中心,所述第二注册中心中包括多个第三会话节点;在所述会话列表中,确定目标会话信息;基于所述目标会话信息,和目标注册中心建立会话连接,其中,所述目标注册中心为包括所述目标会话信息所对应的会话节点的注册中心。本申请中,客户端设备所请求的微服务系统可以获取多个注册中心所包含的节点的节点状态,并将处于正常状态的会话节点的标识信息反馈至客户端设备,以便客户端设备所请求访问的微服务系统中所包含的会话节点均处于异常状态时,此时,还可以根据微服务系统所返回的其余系统中处于正常状态的会话节点,与其余系统中所包含的注册中心建立会话连接,进而确保客户端设备可以与注册中心及时建立会话连接。进而,通过上述方法避免了当客户端设备所请求访问的微服务系统中的注册中心所包含的节点均处于异常状态时,所导致的客户端设备无法与注册中心建立会话连接的现象。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的一种应用场景示意图;
图2为本申请实施例提供的一种基于微服务架构的注册中心的连接方法的流程示意图;
图3为本申请实施例提供的又一种基于微服务架构的注册中心的连接方法的流程示意图;
图4为本申请实施例提供的一种系统架构示意图;
图5为本申请实施例提供的一种基于微服务架构的注册中心的连接装置的结构示意图;
图6为本申请实施例提供的又一种基于微服务架构的注册中心的连接装置的结构示意图;
图7为本申请实施例中提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请基于微服务架构的注册中心的连接方法、装置及设备可用于分布式领域,也可用于除分布式领域之外的任意领域,本申请提供的基于微服务架构的注册中心的连接方法、装置及设备的应用领域不做限定。
图1为本申请提供的一种应用场景示意图。如图所示,在微服务架构下,服务提供方可以将其所能够提供的服务的服务信息注册至服务中心,其中,服务信息中可以包括所提供的服务的服务地址信息、服务名称、服务接口等。之后,注册中心可以将各个服务提供方所提供的服务信息推送给服务消费方,以便服务消费方可以获知可使用的服务,并通过服务信息,向服务提供方请求响应的服务。
然而,在相关技术中,在服务提供方或者服务消费方二者与注册中心进行通信时,当上述二者需要建立通信的注册中心发生故障时,如何确保服务提供方仍能够实现服务注册或者服务消费方仍能够实现服务发现是一个亟需解决的问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种基于微服务架构的注册中心的连接方法的流程示意图。该方法应用于客户端设备,其中,客户端设备可以为上述示例中的服务提供方也可以为服务消费方,本实施例中不做具体限制。
S201、确定需要访问的第一微服务系统的访问地址信息;其中,第一微服务系统中包括第一注册中心。
示例性地,本实施例中,当客户端设备需要和注册中心建立通信连接时,首先,客户端设备可以确定需要访问的注册中心所处的第一微服务系统的访问地址信息。
一个示例中,客户端设备中包括有多个微服务系统所对应的访问地址信息。当客户端设备需要与注册中心建立通信连接时,此时,可以在多个访问地址信息中随机选择一个地址信息作为需要访问的第一微服务系统的访问地址信息。
需要说明的是,本实施例中,第一微服务系统可以为由多个设备所组成的系统,也可以为部署在一台设备上的系统,本实施例中不做具体限制。
S202、根据访问地址信息,向第一微服务系统发送访问请求;其中,访问请求用于请求与第一注册中心建立会话连接;第一注册中心具有多个第一会话节点;第一会话节点为用于提供与客户端设备建立会话连接的服务。
示例性地,本实施例中,当客户端设备确定出第一微服务系统的访问地址信息之后,可以根据确定出的访问地址信息,向该访问地址信息对应的第一微服务系统发送访问请求,以便请求与第一微服务系统中所部署的第一注册中心建立会话连接。其中,在第一注册中心中部署有多个第一会话节点,每一会话节点都可以与客户端设备建立会话连接,进而,实现客户端设备和第一注册中心的通信连接。
S203、接收第一微服务系统返回的会话列表;其中,会话列表中包括:至少一个第二会话节点的会话信息;会话信息包括第二会话节点的标识信息;第二会话节点为第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;第二微服务系统中包括第二注册中心,第二注册中心中包括多个第三会话节点。
示例性地,本实施例中,第一微服务系统中部署有包括多个第一会话节点的第一注册中心。第一微服务系统不仅可以用于实时监测其所包含的第一注册中心中的各个第一会话节点的节点状态,此外,第一微服务系统也可以用于实时确定其余微服务系统(即,第二微服务系统)中的第二注册中心中所包含的第三会话节点的节点状态。其中,节点状态为处于正常状态或者处于异常状态中的任一项。处于正常状态的会话节点可以用于为客户端设备和该节点所处的注册中心建立会话连接。而处于异常状态的节点则无法提供会话连接服务。需要说明的是,本实施例中,第一微服务系统所获取到的其余微服务系统中的节点状态,可以为第一微服务系统在接收到访问请求时,实时向第二微服务系统申请获取到的,本实施例中对于第一微服务系统获取会话列表的方式不做具体限制。
当第一微服务系统接收到客户端系统发送的访问请求之后,第一微服务系统会将其所确定的第一微服务系统和第二微服务系统中处于正常状态的会话节点的标识信息存放至会话列表中并下发给客户端设备。
在实际应用中,会话节点的标识信息可以用于指示该会话节点的访问地址,以便客户端设备可以根据上述标识信息,调用会话节点,进而实现客户端设备与会话节点对应的注册中心的通信连接。
S204、在会话列表中,确定目标会话信息。
示例性地,本实施例中,当客户端设备接收到第一微服务系统所返回的会话列表时,此时,客户端设备可以在会话列表中所包含的会话信息中选择一个目标会话信息。
一个示例中,在客户端设备在会话列表中筛选目标会话信息时,可以随机选择一个会话信息作为目标会话信息。或者,当客户端设备可以选择会话列表中顺序排列的多个会话信息中的首个排序处的会话信息。
S205、基于目标会话信息,和目标注册中心建立会话连接,其中,目标注册中心为包括目标会话信息所对应的会话节点的注册中心。
示例性地,本实施例中,当客户端设备确定出目标会话信息之后,客户端设备可以通过调用目标会话信息所指示的会话节点,完成与该会话节点所对应的注册中心(即,上述目标注册中心)的会话连接的建立。
需要说明的是,本实施例中的第一注册中心和第二注册中心二者之间的服务数据为同步的,客户端设备可以通过接入任一注册中心实现服务的注册和/或服务的发现。
可以理解的是,本实施例中,为了避免当客户端设备所请求访问的微服务系统中的注册中心所包含的节点均处于异常状态时,所导致的客户端设备无法与注册中心建立会话连接的现象,本实施例中,客户端设备所请求的微服务系统可以获取多个注册中心所包含的节点的节点状态,并将处于正常状态的会话节点的标识信息反馈至客户端设备,以便客户端设备所请求访问的微服务系统中所包含的会话节点均处于异常状态时,此时,还可以根据微服务系统所返回的其余系统中处于正常状态的会话节点,与其余系统中所包含的注册中心建立会话连接,进而确保客户端设备可以与注册中心及时建立会话连接。
图3为本申请实施例提供的又一种基于微服务架构的注册中心的连接方法的流程示意图。该方法应用于客户端设备,其中,客户端设备可以为上述示例中的服务提供方也可以为服务消费方,本实施例中不做具体限制。
S301、确定需要访问的第一微服务系统的访问地址信息;其中,第一微服务系统中包括第一注册中心。
一个示例中,步骤S301包括以下步骤:
步骤S301的第一步骤:获取客户端设备的第二位置信息和预设的访问列表;其中,预设的访问列表中包括:至少一个预设微服务系统对应的访问地址信息和预设微服务系统的第四位置信息;第四位置信息表征预设微服务系统中地理位置;预设微服务系统对应的访问地址信息为预设微服务系统中部署的负载均衡器的访问地址。
示例性地,本实施例中,微服务操作系统中不仅包括有该系统所对应的注册中心,还设置有负载均衡器。其中,负载均衡器用于接收客户端设备发送的访问请求,并向客户端设备返回会话列表。并且,在本实施例中,微服务操作系统所包含的负载均衡器的访问地址可以作为微服务操作系统所对应的访问地址信息。
当客户端设备需要和注册中心建立通信连接时,首先,客户端设备可以先确定自身所对应的第二位置信息,即客户端设备所处的地理位置。并且,获取预设的访问列表,其中,访问列表中包括有一个或多个预设的微服务操作系统各自所对应的第四位置信息(即,微服务操作系统所处的地理位置信息)。在实际应用中,上述预设的访问列表可以存储在客户端设备中所存储的软件开发工具包(Software Development Kit,简称SDK)中。
步骤S301的第二步骤:确定第二位置信息和第四位置信息二者之间的距离值。
示例性地,在客户端设备确定出自身所对应的第二位置信息以及微服务操作系统所对应的第四位置信息之后,可以根据第二位置信息和第四位置信息确定出二者之间的距离值。
步骤S301的第三步骤:确定与目标位置信息对应的预设微服务系统为第一微服务系统,并确定与目标位置信息对应的预设微服务系统的访问地址信息为第一微服务系统的访问地址信息;目标位置信息为取值最小的距离值所对应的第四位置信息。
示例性地,当确定出第二位置信息与每一第四位置信息之间的距离值之后,可以通过比较各个距离值,确定出其中的取值最小的距离值,并将取值最小的距离值所对应的第四位置信息为目标位置信息。并且将处于目标位置信息处的预设微服务系统作为客户端设备当前需要访问的第一微服务系统。并将第一微服务系统中所包含的负载均衡器所对应的访问地址作为第一微服务系统的访问地址,并基于该访问地址,发送访问请求。
可以理解的是,本实施例中,在确定需要访问的第一微服务系统时,此时,可以根据各微服务系统所对应的第四位置信息和客户端设备之间的距离进行选择,即,选择距离最近的微服务系统作为第一微服务系统,进而,有利于提高客户端设备和微服务系统之间的消息传输距离,提高通信效率。此外,通过上述方法,客户端设备无需访问多个微服务系统,即,仅需访问一个微服务系统就可以获取到多个微服务系统中的会话节点的状态。
S302、根据访问地址信息,向第一微服务系统发送访问请求;其中,访问请求用于请求与第一注册中心建立会话连接;第一注册中心具有多个第一会话节点;第一会话节点为用于提供与客户端设备建立会话连接的服务。
S303、接收第一微服务系统返回的会话列表;其中,会话列表中包括:至少一个会话信息;会话信息包括第二会话节点的标识信息;第二会话节点为第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;第二微服务系统中包括第二注册中心,第二注册中心中包括多个第三会话节点。
示例性地,步骤S302与步骤S303的技术原理可以参见步骤S201与步骤S202,此处不再赘述。此外,本实施例中,会话列表中的会话信息还包括第二会话节点的第一位置信息,其中,第一位置信息用于表征第二会话节点所处的地理位置。
一个示例中,若会话信息所包含的标识信息所对应的第二会话节点为第二微服务系统中的第三会话节点,则会话信息为第一微服务系统根据第二微服务系统实时上报的通知信息所确定的;通知信息用于指示第二微服务系统中处于正常状态的会话节点。
示例性地,本实施例中,第二微服务系统可以实时向第一微服务系统上报第二微服务系统中当前处于正常状态的会话节点。在实际应用中,第二微服务系统可以在其所包含的第三会话节点的状态发生变化时,实时向第一微服务系统主动上报自身的节点状态变化,即,实时通过通知信息向第一微服务系统实时上报处于正常状态的第三会话节点,以便第一微服务系统在接收到访问请求之后,可以根据通知信息将处于正常状态的第三会话节点,作为第二会话节点,并将其所对应的标识信息写入会话列表中。
可以理解的是,本实施例中的微服务系统可以主动向其余微服务系统上报自身所包含的会话节点的节点状态,以便微服务系统在接收到访问请求之后,可以及时向客户端设备反馈会话列表,提高客户端设备和注册中心的会话连接效率。
一个示例中,当会话信息中包括第二会话节点的第一位置信息时,则第二会话节点的第一位置信息为第一微服务系统根据预设的共享数据库所获取到的;预设的共享数据库用于存储第一微服务系统中的第一会话节点所对应的位置信息,和至少一个第二微服务系统中的第三会话节点的位置信息。
示例性地,本实施例中,不同微服务系统可以各自所对应的会话节点所对应的第一位置信息存储在同一个预设的共享数据库中。当微服务系统需要向客户端设备反馈具有会话节点所对应的位置信息的会话列表时,此时,微服务系统可以从预设的共享数据库中获取其所需要获取的会话节点(即,第二会话节点)的位置信息(即,上述第一位置信息)。
可以理解的是,本实施例中,由于微服务系统中的会话节点的位置信息一般不会改动,即位置信息的更新频率较低,则可以将各个微服务系统所对应的会话节点的位置信息存储在同一数据库中,以便节省各个微服务系统所占用的存储资源。
S304、获取客户端设备的第二位置信息。
示例性地,本实施例中,当客户端设备接收到第一微服务系统返回的会话列表,且会话列表中的会话信息中包括有第二会话节点的第一位置信息时,此时,客户端设备可以确定当前其所处的地理位置,即上述第二位置信息。
S305、确定第二位置信息和第一位置信息二者之间的距离信息。
示例性地,本实施例中,客户端设备可以进一步确定自身所对应的第二位置信息和会话列表中的各会话信息所包含的第一位置信息之间的距离信息。
S306、确定包括取值最小的距离信息所对应的第一位置信息的会话信息为目标会话信息。
示例性地,本实施例中,当确定出第二位置信息与各第一位置信息之间的距离信息之后,可以比较各距离信息之间的大小,并将取值最小的距离信息所对应的第一位置信息所处的会话信息,作为目标会话信息。
可以理解的是,本实施例中,在会话列表中选择目标会话信息时,可以根据当前的客户端设备和会话列表中的第一位置信息之间的距离信息,筛选出距离最近的距离信息所对应的位置信息所处的会话信息作为目标会话信息,进而有利于减低后续客户端设备和注册中心之间会话连接的距离,进而,有利于提高设备间的通信效率。
一个示例中,第一微服务系统中部署有会话管理集群,会话管理集群中包括多个管理节点;管理节点用于指示可获取第一微服务系统中的第一会话节点的节点状态和至少一个第二微服务系统中的会话节点的节点状态的接口信息;会话列表为第一微服务系统基于目标管理节点所确定的;目标管理节点为第一微服务系统中的负载均衡器在接收到访问请求之后,根据预设的负载均衡策略,在会话管理集群中所确定处于正常状态的管理节点。
示例性地,本实施例中,在上述实施例的基础上,第一微服务系统中不仅部署有第一注册中心、负载均衡器,还部署有会话管理集群。其中,会话管理集群中可以设置有多个管理节点,其中,每一管理节点都可以用于获取本系统(即,第一微服务系统)中所包含的会话节点的状态信息,也可以获取其余微服务系统(即,第二微服务系统)中所包含额会话节点的状态信息。且,第一微服务系统中的负载均衡器可以用于接收客户端设备发送的访问请求。之后,负载均衡器基于预设的负载均衡策略,在会话管理集群中所包含的多个管理节点中筛选出一个目标管理节点,并基于该目标管理节点用于获取本系统以及其余系统中的会话节点的节点状态信息。并且,在负载均衡器选择目标管理节点时,可以在处于正常工作状态中的管理节点中,基于负载均衡策略进行选择。
需要说明的是,本实施例中所提及的节点,例如,会话节点、管理节点,可以为实体设备,也可以为集成在实体设备中的服务程序。并且,本实施例中,所提及的负载均衡策略可以参照相关技术中的技术原理,此处不做具体限制。
可以理解的是,本实施例中的第一微服务系统中可以部署有会话管理集群,以便提高会话节点状态信息的获取效率,进而,提高客户端设备和注册中心之间的会话效率。
一个示例中,在上述示例的基础上,客户端设备可以用于接收第一微服务系统返回的请求失败信息,其中,请求失败信息用于表征第一微服务系统中的会话管理集群出现故障。
示例性地,在实际应用中,当第一微服务系统中的负载均衡器确定其所处的系统中的会话管理集群中的管理节点均不可用时,此时,负载均衡器可以向客户端设备反馈请求失败信息,以便告知客户端设备当前会话管理集群不可用,方便客户端设备可以及时切换至其余的微服务系统。
S307、基于目标会话信息,和目标注册中心建立会话连接,其中,目标注册中心为包括目标会话信息所对应的会话节点的注册中心。
示例性地,步骤S307的具体原理可以参见步骤S205,此处不再赘述。
可以理解的是,本实施例中,在会话列表中选择目标会话信息时,可以根据当前的客户端设备和会话列表中的第一位置信息之间的距离信息,筛选出距离最近的距离信息所对应的位置信息所处的会话信息作为目标会话信息,进而有利于减低后续客户端设备和注册中心之间会话连接的距离,进而,有利于提高设备间的通信效率。此外,本实施例中的微服务系统可以主动向其余微服务系统上报自身所包含的会话节点的节点状态,以便微服务系统在接收到访问请求之后,可以及时向客户端设备反馈会话列表,提高客户端设备和注册中心的会话连接效率。
如图4所示,图4为本申请实施例提供的一种系统架构示意图。如图4所示,图中包括有三个微服务系统(即,图中的微服务系统1、微服务系统2以及微服务系统3)。其中,微服务系统1和微服务系统2部署在同一个城市的不同机房中。而,微服务系统3和微服务系统1部署于不同城市中。
并且,每一微服务系统中部署有包括多个会话节点的注册中心,图中用会话集群表征注册中心。且,每一微服务系统中还包括有一个会话管理集群,该会话管理集群可以获知其余微服务系统中的会话节点的状态信息。此外,每一微服务系统中还设置有负载均衡器,以便和客户端设备进行会话连接前的通信。
此外,本实施例所提供的架构图中还包括有域名解析设备,该域名解析设备可以用于解析客户端设备需要访问的第一微服务系统,并将客户端设备所发送的访问请求,基于域名解析设备的转发,发送至第一微服务系统中所对应的负载均衡设备,并由负载均衡设备在会话管理集群中选择目标管理节点进行多个微服务系统中的会话节点的状态信息的确定。管理节点之后会将确定出的会话列表依次通过负载均衡设备、域名解析设备,反馈至客户端设备,以便客户端设备可以基于上述会话列表信息,确定出目标注册中心,并完成于目标注册中心的会话连接。
在实际应用中,当客户端设备和目标注册中心建立会话连接之后,客户端设备也可以将实时感知到的本系统或者其余系统中的会话节点的状态信息变化,以便当客户端设备当前连接的注册中心发生故障时,可以及时切换所连接的注册中心。
并且,在实际应用中,上述微服务系统所对应的位置信息时,可以采用微服务系统所处的机房所对应的地域属性(例如,城市、省份等),例如,微服务系统的位置信息可以为A城市的机房1、A城市的机房2等形式进行标识。
进而,通过上述系统架构,可以确保注册中心实现本地或者异地的容灾,即,当城市A中的机房1中的注册中心出现故障时,可以优先考虑本地的机房2(即,城市A中的机房2)进行会话连接,若是本地不存在,则可以考虑异地(例如,不属于一个城市)的机房中部署的微服务系统所包含的注册中心。
图5为本申请实施例提供的一种基于微服务架构的注册中心的连接装置的结构示意图,该装置应用于客户端设备,装置包括:
第一确定单元501,用于确定需要访问的第一微服务系统的访问地址信息;其中,第一微服务系统中包括第一注册中心。
发送单元502,用于根据访问地址信息,向第一微服务系统发送访问请求;其中,访问请求用于请求与第一注册中心建立会话连接;第一注册中心具有多个第一会话节点;第一会话节点为用于提供与客户端设备建立会话连接的服务。
第一接收单元503,用于接收第一微服务系统返回的会话列表;其中,会话列表中包括:至少一个会话信息;会话信息包括第二会话节点的标识信息;第二会话节点为第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;第二微服务系统中包括第二注册中心,第二注册中心中包括多个第三会话节点。
第二确定单元504,用于在会话列表中,确定目标会话信息。
连接单元505,用于基于目标会话信息,和目标注册中心建立会话连接,其中,目标注册中心为包括目标会话信息所对应的会话节点的注册中心。
本实施例提供的装置,用于实现上述方法提供的技术方案,其实现原理和技术效果类似,不再赘述。
图6为本申请实施例提供的又一种基于微服务架构的注册中心的连接装置的结构示意图,在图5所示的装置结构的基础上,会话信息还包括第二会话节点的第一位置信息,其中,第一位置信息用于表征第二会话节点所处的地理位置;第二确定单元504,包括:
第一获取模块5041,用于获取客户端设备的第二位置信息。
第一确定模块5042,用于确定第二位置信息和第一位置信息二者之间的距离信息。
第二确定模块5043,用于确定包括取值最小的距离信息所对应的第一位置信息的会话信息为目标会话信息。
一个示例中,若会话信息所包含的标识信息所对应的第二会话节点为第二微服务系统中的第三会话节点,则会话信息为第一微服务系统根据第二微服务系统实时上报的通知信息所确定的;通知信息用于指示第二微服务系统中处于正常状态的会话节点。
一个示例中,第二会话节点的第一位置信息为第一微服务系统根据预设的共享数据库所获取到的;预设的共享数据库用于存储第一微服务系统中的第一会话节点所对应的位置信息,和至少一个第二微服务系统中的第三会话节点的位置信息。
一个示例中,第一确定单元501,包括:
第二获取模块5011,用于获取客户端设备的第二位置信息和预设的访问列表;其中,预设的访问列表中包括:至少一个预设微服务系统对应的访问地址信息和预设微服务系统的第四位置信息;第四位置信息表征预设微服务系统的地理位置;预设微服务系统对应的访问地址信息为预设微服务系统中部署的负载均衡器的访问地址。
第三确定模块5012,用于确定第二位置信息和第四位置信息二者之间的距离值。
第四确定模块5013,用于确定与目标位置信息对应的预设微服务系统为第一微服务系统,并确定与目标位置信息对应的预设微服务系统的访问地址信息为第一微服务系统的访问地址信息;目标位置信息为取值最小的距离值所对应的第四位置信息。
一个示例中,第一微服务系统中部署有会话管理集群,会话管理集群中包括多个管理节点;管理节点用于指示可获取第一微服务系统中的第一会话节点的节点状态和至少一个第二微服务系统中的会话节点的节点状态的接口信息;会话列表为第一微服务系统基于目标管理节点所确定的;目标管理节点为第一微服务系统中的负载均衡器在接收到访问请求之后,根据预设的负载均衡策略,在会话管理集群中所确定处于正常状态的管理节点。
一个示例中,装置还包括:
第二接收单元506,用于接收第一微服务系统返回的请求失败信息,其中,请求失败信息用于表征第一微服务系统中的会话管理集群出现故障。
本实施例提供的装置,用于实现上述方法提供的技术方案,其实现原理和技术效果类似,不再赘述。
图7为本申请实施例中提供的一种电子设备的结构示意图,如图7所示,该电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器292中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现任一项的方法。
本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现任一项的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种基于微服务架构的注册中心的连接方法,其特征在于,应用于客户端设备,所述方法包括:
确定需要访问的第一微服务系统的访问地址信息;其中,所述第一微服务系统中包括第一注册中心;
根据所述访问地址信息,向所述第一微服务系统发送访问请求;其中,所述访问请求用于请求与所述第一注册中心建立会话连接;所述第一注册中心具有多个第一会话节点;所述第一会话节点为用于提供与客户端设备建立会话连接的服务;
接收所述第一微服务系统返回的会话列表;其中,所述会话列表中包括:至少一个会话信息;所述会话信息包括第二会话节点的标识信息;所述第二会话节点为所述第一微服务系统和至少一个第二微服务系统中处于正常状态的会话节点;所述第二微服务系统中包括第二注册中心,所述第二注册中心中包括多个第三会话节点;
在所述会话列表中,确定目标会话信息;
基于所述目标会话信息,和目标注册中心建立会话连接,其中,所述目标注册中心为包括所述目标会话信息所对应的会话节点的注册中心。
2.根据权利要求1所述的方法,其特征在于,所述会话信息还包括第二会话节点的第一位置信息,其中,所述第一位置信息用于表征所述第二会话节点所处的地理位置;
在所述会话列表中,确定目标会话信息,包括:
获取所述客户端设备的第二位置信息;
确定所述第二位置信息和所述第一位置信息二者之间的距离信息;
确定包括取值最小的距离信息所对应的第一位置信息的会话信息为所述目标会话信息。
3.根据权利要求2所述的方法,其特征在于,若所述会话信息所包含的标识信息所对应的第二会话节点为所述第二微服务系统中的第三会话节点,则所述会话信息为所述第一微服务系统根据所述第二微服务系统实时上报的通知信息所确定的;所述通知信息用于指示所述第二微服务系统中处于正常状态的会话节点。
4.根据权利要求2所述的方法,其特征在于,所述第二会话节点的第一位置信息为所述第一微服务系统根据预设的共享数据库所获取到的;所述预设的共享数据库用于存储所述第一微服务系统中的第一会话节点所对应的位置信息,和至少一个第二微服务系统中的第三会话节点的位置信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,确定需要访问的第一微服务系统的访问地址信息,包括:
获取所述客户端设备的第二位置信息和预设的访问列表;其中,预设的访问列表中包括:至少一个预设微服务系统对应的访问地址信息和所述预设微服务系统的第四位置信息;所述第四位置信息表征所述预设微服务系统的地理位置;所述预设微服务系统对应的访问地址信息为所述预设微服务系统中部署的负载均衡器的访问地址;
确定所述第二位置信息和所述第四位置信息二者之间的距离值;
确定与目标位置信息对应的预设微服务系统为所述第一微服务系统,并确定与所述目标位置信息对应的预设微服务系统的访问地址信息为所述第一微服务系统的访问地址信息;所述目标位置信息为取值最小的距离值所对应的第四位置信息。
6.根据权利要求5所述的方法,其特征在于,所述第一微服务系统中部署有会话管理集群,所述会话管理集群中包括多个管理节点;所述管理节点用于指示可获取所述第一微服务系统中的第一会话节点的节点状态和至少一个所述第二微服务系统中的会话节点的节点状态的接口信息;
所述会话列表为所述第一微服务系统基于目标管理节点所确定的;所述目标管理节点为所述第一微服务系统中的负载均衡器在接收到所述访问请求之后,根据预设的负载均衡策略,在所述会话管理集群中所确定处于正常状态的管理节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述第一微服务系统返回的请求失败信息,其中,所述请求失败信息用于表征所述第一微服务系统中的会话管理集群出现故障。
8.一种基于微服务架构的注册中心的连接装置,其特征在于,应用于客户端设备,所述装置包括:
第一确定单元,用于确定需要访问的第一微服务系统的访问地址信息;其中,所述第一微服务系统中包括第一注册中心;
发送单元,用于根据所述访问地址信息,向所述第一微服务系统发送访问请求;其中,所述访问请求用于请求与所述第一注册中心建立会话连接;所述第一注册中心具有多个第一会话节点;所述第一会话节点为用于提供与客户端设备建立会话连接的服务;
第一接收单元,用于接收所述第一微服务系统返回的会话列表;其中,所述会话列表中包括:至少一个会话信息;所述会话信息包括第二会话节点的标识信息;所述第二会话节点为所述第一微服务和至少一个第二微服务系统中处于正常状态的会话节点;所述第二微服务系统中包括第二注册中心,所述第二注册中心中包括多个第三会话节点;
第二确定单元,用于在所述会话列表中,确定目标会话信息;
连接单元,用于基于所述目标会话信息,和目标注册中心建立会话连接,其中,所述目标注册中心为包括所述目标会话信息所对应的会话节点的注册中心。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的方法。
CN202310686694.8A 2023-06-09 2023-06-09 基于微服务架构的注册中心的连接方法、装置及设备 Pending CN116668510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310686694.8A CN116668510A (zh) 2023-06-09 2023-06-09 基于微服务架构的注册中心的连接方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310686694.8A CN116668510A (zh) 2023-06-09 2023-06-09 基于微服务架构的注册中心的连接方法、装置及设备

Publications (1)

Publication Number Publication Date
CN116668510A true CN116668510A (zh) 2023-08-29

Family

ID=87709464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310686694.8A Pending CN116668510A (zh) 2023-06-09 2023-06-09 基于微服务架构的注册中心的连接方法、装置及设备

Country Status (1)

Country Link
CN (1) CN116668510A (zh)

Similar Documents

Publication Publication Date Title
CN106210151A (zh) 一种zedis分布式缓存及服务器集群监控方法
US11696103B2 (en) Method of and device for service discovery and selection
CN112015544A (zh) 一种k8s集群的负载均衡方法、装置、设备及存储介质
CN101610222A (zh) 基于客户端的服务器选择方法及装置
CN106293887A (zh) 数据库处理方法及装置
CN110311837B (zh) 在线业务可用性检测方法、装置及计算机设备
CN109213792A (zh) 数据处理的方法、服务端、客户端、装置及可读存储介质
CN112953982B (zh) 一种服务处理的方法、服务配置的方法以及相关装置
CN103607424A (zh) 一种服务器连接方法及服务器系统
CN106209943A (zh) 通讯节点的选择方法及装置
CN107426323A (zh) 一种基于分布式的资源服务与可视化监控系统及方法
CN113014666B (zh) 一种区块链协议栈架构方法、系统、设备及存储介质
CN101232421B (zh) 一种工业互联网组网方法及地址解析方法
CN102340410A (zh) 集群管理系统及方法
CN112218342A (zh) 一种实现核心网子切片容灾的方法、装置和系统
CN107172214A (zh) 一种具有负载均衡的服务节点发现方法及装置
CN111884844A (zh) 基于zookeeper的消息服务接入方法和设备
CN116781564B (zh) 一种容器云平台的网络检测方法、系统、介质和电子设备
CN103425684A (zh) 数据库的操作方法及装置
WO2017000583A1 (zh) 一种终端接入方法及相应的终端、基站和主核心网
CN116668510A (zh) 基于微服务架构的注册中心的连接方法、装置及设备
CN105307130A (zh) 一种资源分配方法及系统
CN110784510A (zh) 目标服务节点接入总线的方法、服务节点的信息交互方法
CN114221933A (zh) 手机银行多中心多活的寻址方法、装置及系统
CN113760447A (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