一种服务注册中心制造技术

技术编号:21691480 阅读:37 留言:0更新日期:2019-07-24 16:12
本申请提供了一种服务注册中心,将服务注册中心分为数据层与会话层,将原有的节点分为数据层节点与会话层节点。会话层节点用于分摊各个客户端的TCP长连接,数据层节点用于分片存储服务注册数据。使整个服务注册中心不再有单点瓶颈,可以通过水平扩展服务器数量来支撑大规模服务注册发现的压力。

A Service Registry

【技术实现步骤摘要】
一种服务注册中心
本说明书涉及互联网
,尤其涉及一种服务注册中心。
技术介绍
服务注册中心是一种提供服务发现功能的软件系统,帮助服务调用者获取服务提供者的网络地址。在快速发展的大型分布式系统中,服务数量和应用节点数量非常庞大。传统的服务注册中心集群模式,集群节点能分摊客户端请求与服务端推送任务。但是集群内的每个节点都要存储全量服务注册数据。当服务注册数据的总量超过了单个节点的内存容量时,一般采取垂直扩展的方式,即使用配置更高的服务器,传统方案中单个节点的容量上限制约了整个服务注册中心的容量上限。
技术实现思路
针对上述技术问题,本说明书实施例提供一种服务注册中心,技术方案如下:根据本说明书实施例的第一方面,提供一种服务注册中心,应用于分布式系统,该服务注册中心包括:会话层,所述会话层包括数量可配置的会话层节点,任一会话层节点与零到多个客户端保持TCP长连接,所述TCP长连接用于保持服务注册中心与客户端的交互通道;数据层,所述数据层包括数量可配置的数据层节点,所述数据层节点用于存储服务注册数据,所述服务注册数据至少包括不同服务提供者的网络地址,其中,服务注册数据分片存储于不同数据层节点,且同一服务的注册数据被存储在同一数据层节点。根据本说明书实施例的第二方面,提供一种基于服务注册中心的容量扩展方法,该方法包括:接收服务注册中心上报的负载过度信息;检测负载过度的产生原因,根据检测结果对应配置数量更多的会话层节点或数据层节点。根据本说明书实施例的第三方面,提供一种基于服务注册中心的服务注册方法,该方法包括:客户端初始化后,获取服务注册中心的各个会话层节点;随机选择其中一个会话层节点,与所述会话层节点建立TCP长连接。根据本说明书实施例的第四方面,提供一种基于服务注册中心的容量扩展装置,该装置包括:容量确定模块:用于接收服务注册中心上报的负载过度信息;节点配置模块:用于检测负载过度的产生原因,根据检测结果对应配置数量更多的会话层节点或数据层节点。根据本说明书实施例的第五方面,提供一种基于服务注册中心的服务注册装置,该装置包括:初始化模块:用于在客户端初始化后,获取服务注册中心的各个会话层节点;节点选择模块;用于使客户端随机选择其中一个会话层节点,与所述会话层节点建立TCP长连接。根据本说明书实施例的第六方面,提供一种分布式系统,该分布式系统包括服务注册中心和客户端,所述服务注册中心,用于通过会话层节点与客户端保持TCP长连接,通过数据层节点分片存储服务注册数据,其中,TCP长连接用于向客户端推送数据层节点存储的服务注册数据;所述客户端,用于提供服务与调用服务,其中,客户端在初始化时与服务注册中心的会话层节点建立TCP长连接,将可提供的服务信息与需调用的服务信息注册到服务注册中心。本说明书实施例所提供的技术方案,提供了一种服务注册中心,将服务注册中心分为数据层与会话层,将原有的节点分为数据层节点与会话层节点。会话层节点用于分摊各个客户端的TCP长连接,数据层节点用于分片存储服务注册数据。使整个服务注册中心不再有单点瓶颈,可以通过水平扩展服务器数量来支撑大规模服务注册发现的压力。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本说明书一示例性实施例示出的服务注册中心的一种示意图;图2是本说明书一示例性实施例示出的基于服务注册中心的容量扩展方法的一种流程图;图3是本说明书一示例性实施例示出的基于服务注册中心的容量扩展方法的另一种流程图;图4是本说明书一示例性实施例示出的基于服务注册中心的服务注册方法的一种流程图;图5是本说明书一示例性实施例示出的基于服务注册中心的容量扩展装置的一种示意图;图6是本说明书一示例性实施例示出的基于服务注册中心的服务注册装置的一种示意图;图7是本说明书一示例性实施例示出分布式架构的一种示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。服务注册中心是一种提供服务发现功能的软件系统,帮助服务调用者获取服务提供者的网络地址。在快速发展的大型分布式系统中,服务数量和应用节点数量非常庞大。传统的服务注册中心集群模式,集群节点能分摊客户端请求与服务端推送任务。但是集群内的每个节点都要存储全量服务注册数据。当服务注册数据的总量超过了单个节点的内存容量时,一般采取垂直扩展的方式,即使用配置更高的服务器,传统方案中单个节点的容量上限制约了整个服务注册中心的容量上限。针对以上问题,本说明书实施例提供一种服务注册中心,以及一种基于该服务注册中心的容量扩展方法,下面对本实施例涉及的服务注册中心进行详细说明,所述服务注册中心应用于分布式系统,参见图1所示,可包括:会话层,所述会话层包括数量可配置的会话层节点,任一会话层节点与零到多个客户端保持TCP长连接,所述TCP长连接用于保持服务注册中心与客户端的交互通道;数据层,所述数据层包括数量可配置的数据层节点,所述数据层节点用于存储服务注册数据,所述服务注册数据至少包括不同服务提供者的网络地址,其中,服务注册数据分片存储于不同数据层节点,且同一服务的注册数据被存储在同一数据层节点。本实施例提供的服务注册中心应用于分布式系统,分布式系统包括服务注册中心和与服务注册中心相连的若干客户端,其中,客户端可包含多种不同服务,客户端既可以作为服务提供者提供服务,也可作为服务调用者调用服务。下面对本实施例涉及的分布式系统中的服务进行说明,如下:服务:一种提供某种指定业务逻辑处理能力的软件维度;服务提供者:通过网络提供业务逻辑处理能力的计算机节点;服务调用者:通过网络协议调用服务提供者获得服务的计算机节点;服务发现:服务调用者获取服务提供者的网络地址的过程;服务注册中心:一种提供服务发现功能的软件系统,帮助服务调用者获取服务提供者本文档来自技高网...

【技术保护点】
1.一种服务注册中心,应用于分布式系统,所述服务注册中心包括:会话层,所述会话层包括数量可配置的会话层节点,任一会话层节点与零到多个客户端保持TCP长连接,所述TCP长连接用于保持服务注册中心与客户端的交互通道;数据层,所述数据层包括数量可配置的数据层节点,所述数据层节点用于存储服务注册数据,所述服务注册数据至少包括不同服务提供者的网络地址,其中,服务注册数据分片存储于不同数据层节点,且同一服务的注册数据被存储在同一数据层节点。

【技术特征摘要】
1.一种服务注册中心,应用于分布式系统,所述服务注册中心包括:会话层,所述会话层包括数量可配置的会话层节点,任一会话层节点与零到多个客户端保持TCP长连接,所述TCP长连接用于保持服务注册中心与客户端的交互通道;数据层,所述数据层包括数量可配置的数据层节点,所述数据层节点用于存储服务注册数据,所述服务注册数据至少包括不同服务提供者的网络地址,其中,服务注册数据分片存储于不同数据层节点,且同一服务的注册数据被存储在同一数据层节点。2.如权利要求1所述的服务注册中心,所述服务注册数据分片存储于不同数据层节点,包括:服务注册数据经一致性哈希算法计算分配并根据计算结果分片存储于不同数据层节点。3.一种基于权利要求1服务注册中心的容量扩展方法,所述方法包括:接收服务注册中心上报的负载过度信息;检测负载过度的产生原因,根据检测结果对应配置数量更多的会话层节点或数据层节点。4.如权利要求3所述的方法,所述检测负载过度的产生原因,根据检测结果对应配置数量更多的会话层节点或数据层节点,包括:检测到需要保持长连接的客户端数量达到预设阈值后,配置数量更多的会话层节点;接收到新的客户端连接请求后,使用新配置的会话层节点与客户端建立TCP长连接。5.如权利要求3所述的方法,所述检测负载过度的产生原因,根据检测结果对应配置数量更多的会话层节点或数据层节点,包括:检测到各个数据层节点的可存储容量不足后,配置数量更多的数据层节点;将分片存储于不同数据层节点的服务注册数据进行重新分配,以将部分服务注册数据存储到新配置的数据层节点。6.一种基于权利要求1服务注册中心的服务注册方法,所述方法包括:客户端初始化后,获取服务注册中心的各个会话层节点;随机选择其中一个会话层节点,与所述会话层节点建立TCP长连接。7.如权利要求6所述的方法,所述与所述会话层节点建立TCP长连接后,还包括:通过所述TCP长连...

【专利技术属性】
技术研发人员:王辉石建伟吴克柱时晖
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1