CN112422309B - 分布式服务发现的***及方法、存储介质及终端 - Google Patents

分布式服务发现的***及方法、存储介质及终端 Download PDF

Info

Publication number
CN112422309B
CN112422309B CN201910785473.XA CN201910785473A CN112422309B CN 112422309 B CN112422309 B CN 112422309B CN 201910785473 A CN201910785473 A CN 201910785473A CN 112422309 B CN112422309 B CN 112422309B
Authority
CN
China
Prior art keywords
storage cluster
cluster
storage
service
service address
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.)
Active
Application number
CN201910785473.XA
Other languages
English (en)
Other versions
CN112422309A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910785473.XA priority Critical patent/CN112422309B/zh
Publication of CN112422309A publication Critical patent/CN112422309A/zh
Application granted granted Critical
Publication of CN112422309B publication Critical patent/CN112422309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式服务发现的***及方法、存储介质及终端,该***包括:注册中心,用于向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;全局配置中心,用于保存所有存储集群的配置信息,以供计算集群从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。本发明解决了由于计算集群需要保存存储集群名到注册中心域名的映射关系,在集群规模很大的情况下,难以维护大量的域名的技术问题。

Description

分布式服务发现的***及方法、存储介质及终端
技术领域
本发明涉及分布式服务技术领域,具体而言,涉及一种分布式服务发现的***及方法、存储介质及终端。
背景技术
相关技术中的通用的服务发现的是基于中心化注册中心的服务发现,如图1所示,所有存储集群中的Master节点将自己的地址信息注册到中心化的注册中心中,计算集群从注册中心中解析各个存储集群的Master节点地址,然后进行服务调用。该方案架构简单,但存在以下缺点:(1)注册中心存在单点风险,注册中心不可用时,可能导致存储计算分离架构不可用。(2)注册中心与存储集群存在网络断连风险,当网络断连,可能导致存储集群中的master对计算集群完全不可见,同样导致服务不可用的严重后果。(3)在存储计算集群持续扩容的情况下可能达到单个注册中心的服务瓶颈。
由于中心化架构在大规模存储计算分离场景下存在很多弊端,为了应用在大规模存储计算分离场景,使具有良好的扩展性和健壮性,相关技术中提供了另一种方案,具体是将注册中心下沉到存储集群中,如图2所示,注册中心不再以中心化部署,而是部署在各个存储集群,这样存储集群中的Master节点不再注册到中心化注册中心集群而是将自己的地址信息注册到本集群的注册中心中。计算集群去各个存储集群的注册中心解析存储集群的Master节点地址信息,进而进行存储调用,这样控制了注册中心网络故障等问题的***半径,又具有良好的扩展能力。但该方案仍然有以下若干缺点:(1)计算集群需要保存存储集群名到注册中心域名的映射关系,在集群规模很大的情况下,难以维护大量的域名。(2)在注册中心自身的机器缩扩容,宕机的场景,因为域名的变更需要分钟级别的传导时间,在此期间计算集群可能会解析到不可用的注册中心导致解析失败。(3)各个注册中心的各个服务是分离开的,并没有形成一个统一架构。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种分布式服务发现的***及方法、存储介质及终端,以至少解决由于计算集群需要保存存储集群名到注册中心域名的映射关系,在集群规模很大的情况下,难以维护大量的域名的技术问题。
根据本发明实施例的一个方面,提供了一种分布式服务器发现的***,该***包括:注册中心,用于向全局配置中心上报存储集群的配置信息,其中,所述配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;全局配置中心,用于保存所有存储集群的配置信息,以供计算集群从所述全局配置中心中根据目标存储集群的名称获取所述目标存储集群的注册中心的服务地址,从而以对所述目标存储集群进行服务发现。
进一步地,所述注册中心设置在每个存储集群中,在每个存储集群中还包括多个存储节点,所述存储节点通过所述全局配置中心根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
进一步地,所述存储节点还用于选择注册中心的目标服务地址进行连接,通过所述注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储节点的服务地址注册到所述注册中心。
进一步地,所述注册中心还用于与每个网络域的多个存储集群通信连接,用于向全局配置中心上报每个网络域的配置信息,其中,所述配置信息中至少包括:网络域注册中心的服务地址和网络域的名称和所述网络域负责的存储集群的名称。
进一步地,在每个存储集群中通过所述全局配置中心根据每个网络域的名称和所述网络域负责的存储集群的名称获取每个存储集群所属的网络域注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
进一步地,所述存储集群还用于选择网络域注册中心的目标服务地址进行连接,通过所述网络域注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储集群的服务地址注册到所述网络域注册中心。
进一步地,所述全局配置中心还用于收到各个网络域的配置信息之后,建立网络域的名称、所述网络域负责的存储集群的名称与网络域注册中心的服务地址的映射关系。
进一步地,无状态代理服务器,与所述全局配置中心通信连接,用于根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,其中,所述计算集群从所述无状态代理服务器中获取所述目标存储集群的注册中心的服务地址,以对所述目标存储集群进行服务发现和存储服务调用。
进一步地,所述无状态代理服务器还用于根据目标网络域的名称和所述目标网络域负责的目标存储集群的名称获取所述目标存储集群所属的网络域注册中心的服务地址,其中,所述计算集群从所述无状态代理服务器中获取所述目标存储集群所属的网络域注册中心的服务地址,以对所述目标存储集群进行服务发现和存储服务调用。
根据本发明实施例的一个方面,提供了一种分布式服务发现的方法,包括:向全局配置中心上报存储集群的配置信息,其中,所述配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;保存所有存储集群的配置信息,以供从所述全局配置中心中根据目标存储集群的名称获取所述目标存储集群的注册中心的服务地址,从而以对所述目标存储集群进行服务发现。
进一步地,每个存储集群中设置有注册中心,所述方法还包括:根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
进一步地,在每个存储集群中还包括多个存储节点,所述方法还包括:通过所述存储节点选择注册中心的目标服务地址进行连接,通过所述注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储节点的服务地址注册到所述注册中心。
根据本发明实施例的一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备运行上述任意一项所述的分布式服务发现的方法。
根据本发明实施例的一个方面,提供了一种终端,包括:第一装置;第二装置;处理器,所述处理器运行程序,其中,所述程序运行时对于从所述第一装置、第二装置输出的数据执行如下处理步骤:第一装置,向全局配置中心上报存储集群的配置信息,其中,所述配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;第二装置,保存所有存储集群的配置信息,以供从所述全局配置中心中根据目标存储集群的名称获取所述目标存储集群的注册中心的服务地址,从而以对所述目标存储集群进行服务发现。
在本发明实施例中,采用注册中心向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;全局配置中心,用于保存所有存储集群的配置信息,以供计算集群从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。也即,计算集群不需要维护存储集群名到注册中心的映射关系,只需要根据集群名既可访问存储集群的存储服务。注册中心不再需要创建单独的域名,减少了注册中心过多,导致的域名维护问题。进而解决了由于计算集群需要保存存储集群名到注册中心域名的映射关系,在集群规模很大的情况下,难以维护大量的域名的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中基于中心化注册中心的服务发现的示意图一;
图2是相关技术中基于中心化注册中心的服务发现的示意图二;
图3是根据本发明实施例的计算机终端的硬件结构框图;
图4是根据本发明实施例一的分布式服务器发现的***的示意图一;
图5是根据本发明实施例一的分布式服务器发现的***中存储节点与全局配置中心交互的示意图;
图6是根据本发明实施例一的分布式服务器发现的***中在注册中心中抢锁注册的示意图;
图7是根据本发明实施例一的分布式服务器发现的***的示意图二;
图8是根据本发明实施例一的分布式服务器发现的***的示意图三;
图9是根据本发明实施例二的分布式服务器发现的方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
服务提供者(Service Provider):是将自己的服务提供给其他业务调用的服务。
服务调用者(Service Consumer):需要调用服务提供者的一方。
一致***单元(Quorum):基于一致性协议(如Paxos、Raft等)实现的分布式一致性***,通常由奇数个服务器组成,提供高可靠的元数据读写访问服务。
注册中心:服务提供者将自己的服务信息注册到的服务,同时服务调用者访问该服务获取服务提供者的地址,注册中心往往是由一致***单元构成,同时以域名的方式提供。
服务注册(Register):服务提供者将自己的服务信息者注册到注册中心的过程,叫做服务注册。
服务发现(Get Endpoint):服务调用者从注册中心获取服务提供者服务信息的过程,叫做服务发现。
存储集群(Storage Cluster):负责数据存储的集群,在服务发现场景充当服务提供者。
计算集群(Compute Cluster):负责数据收集将数据存储到存储集群,同是从存储集群中获取数据进行分析的集群,在服务发现场景充当服务调用者。
存储计算分离:随着网络技术以及存储技术的高速发展,CPU的处理能力已经不能匹配网络和存储设备的处理能力。受限于CPU的处理能力,存储设备的性能不能完全发挥出来。随着业务的对存储容量以及存储性能的诉求越来越高,本地存储已经不能满足业务的需要,因此将存储节点和计算节点分离开来,作为单独的集群来发挥各自的优势。
实施例1
根据本发明实施例,提供了一种分布式服务器发现的***的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的***实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图3示出了一种用于实现分布式服务器发现的***的计算机终端(或移动设备)的硬件结构框图。如图3所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的***对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的分布式服务器发现的***。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Control ler,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图4所示的分布式服务器发现的***。图4是根据本发明实施例一的分布式服务器发现的***的示意图。该***包括:
注册中心,用于向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系。
地址上报服务监控本注册中心的服务地址的变化,上报存储集群的配置信息到全局配置中心中,例如,注册中心上报的配置信息中的服务地址及状态如下表1所示:
表1
Figure BDA0002177891320000071
全局配置中心,用于保存所有存储集群的配置信息,以供计算集群从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。
可选地,全局配置中心收到各个集群的配置信息之后就会形成一个大的视图,将存储集群的名称与注册中心的服务地址的映射关系存储。集群到集群配置服务地址的映射关系,如下表2所示:
表2
Figure BDA0002177891320000072
Figure BDA0002177891320000081
上述的计算集群的机器可以连接存储集群的Master节点进行服务调用。
本发明实施例一提供的分布式服务器发现的***由两大角色组成:全局配置中心(跨区域冗灾)和注册中心,其中,全局配置中心负责保存注册中心的服务地址。注册中心负责数据一致性单元(负责具体的服务发现功能,类似于Zookeeper/Etcd等功能,同时提供分布式锁服务)。注册中心还负责地址上报服务(负责将注册中心的服务地址上报到全局配置中心)。在整个架构设计中,将注册中心下沉到每个存储集群,减少了***不可用造成的***半径,同时增加了***的可扩展性。
在本申请实施例中引入新的全局配置中心的角色,该角色拥有所有存储集群的注册中心的视图,保存存储集群名到存储集群的注册中心服务地址的映射关系,这样计算集群通过集群名就可以获取需要访问的存储集群的注册中心的所有地址。由于在各个注册中心增加了地址上报服务,从而能让全局配置中心有所有存储注册中心的视图,服务感知本集群的注册中心的服务地址上报到全局配置中心,在本集群机器替换/宕机/扩容等场景动态的更改本集群在全局配置中心的视图。在本申请实施例中抛弃了域名这种传导非常缓慢的介质,而是将所有可服务的注册中心的地址告诉使用方,由使用方灵活的选择可服务的地址,这样即使在某个服务地址不可用的情况下,依然可以快速的选择下一个地址进行尝试。
在本发明实施例一提供的分布式服务器发现的***中,采用注册中心向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;全局配置中心,用于保存所有存储集群的配置信息,以供计算集群从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。也即,计算集群不需要维护存储集群名到注册中心的映射关系,只需要根据集群名既可访问存储集群的存储服务。注册中心不再需要创建单独的域名,减少了注册中心过多,导致的域名维护问题。进而解决了由于计算集群需要保存存储集群名到注册中心域名的映射关系,在集群规模很大的情况下,难以维护大量的域名的技术问题。
可选地,在本发明实施例一提供的分布式服务器发现的***中,注册中心设置在每个存储集群中,在每个存储集群中还包括多个存储节点,存储节点通过全局配置中心根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到目标存储集群中,按照预设周期进行更新。
通过上述方案,存储节点将存储集群的注册中心的服务地址并缓存到本地,定期更新,如图5所示。通过引入多层缓存(存储注册中心缓存/存储集群Master地址缓存),提升服务的健壮性。
可选地,在本发明实施例一提供的分布式服务器发现的***中,存储节点还用于选择注册中心的目标服务地址进行连接,通过注册中心的分布式锁功能,获取到分布式锁的节点,将存储节点的服务地址注册到注册中心。
如图6所示,存储集群的存储节点随机选取一台注册中心机器进行连接,通过注册中心的分布式锁功能,获取到分布式锁的节点,将自己的服务地址注册到注册中心。通过引入基于分布式锁的服务注册机制,计算节点可以灵活、快速地解析存储集群的Master地址。
上述的注册中心还用于与每个网络域的多个存储集群通信连接,用于向全局配置中心上报每个网络域的配置信息,其中,配置信息中至少包括:网络域注册中心的服务地址和网络域的名称和网络域负责的存储集群的名称。
在本发明实施例一提供的分布式服务器发现的***中,可选地,在每个存储集群中通过全局配置中心根据每个网络域的名称和网络域负责的存储集群的名称获取每个存储集群所属的网络域注册中心的服务地址,并缓存到目标存储集群中,按照预设周期进行更新。
通过上述方案,将每个网络域的名称和网络域负责的存储集群的名称获取每个存储集群所属的网络域注册中心的服务地址缓存在目标存储集群中,并按照预设周期更新,保证了目标存储集群中存储的信息的准确性和有效性。
可选地,在本发明实施例一提供的分布式服务器发现的***中,存储集群还用于选择网络域注册中心的目标服务地址进行连接,通过网络域注册中心的分布式锁功能,获取到分布式锁的节点,将存储集群的服务地址注册到网络域注册中心。
在上述方案中,通过网络域注册中心的分布式锁功能,获取到分布式锁的节点,将自己的服务地址注册到注册中心,通过引入基于分布式锁的服务注册机制,计算节点可以灵活、快速地解析存储集群的Master地址。
可选地,在本发明实施例一提供的分布式服务器发现的***中,全局配置中心还用于收到各个网络域的配置信息之后,建立网络域的名称、网络域负责的存储集群的名称与网络域注册中心的服务地址的映射关系。
在上述方案中,不在每个集群搭建注册中心,而是在机房级别(也即网络域级别)搭建,同时地址上报服务需要在注册中心服务地址上报的时候,将机房信息,以及该机房负责的存储集群报上去,得到最终全局配置中心的数据,如下表3所示:
表3
Figure BDA0002177891320000101
在本申请实施例中将注册中心下沉到存储集群,这样解决了稳定性和扩展性的问题,如果存储集群过多,通过一个网络域(机房)搭建一个注册中心的方案来最小化注册中心过多造成的影响。其中,计算集群的机器连接存储集群的Master节点进行服务调用。
在本申请实施例中引入新的全局配置中心的角色,该角色拥有所有存储集群的注册中心的视图,保存存储集群名到存储集群所属的网络域注册中心的服务地址的映射关系,这样计算集群通过集群名就可以获取需要访问的网络域注册中心的所有地址。由于在各个网络域注册中心增加了地址上报服务,从而能让全局配置中心有所有存储网络域注册中心的视图,服务感知本网络域注册中心的服务地址上报到全局配置中心,在本集群机器替换/宕机/扩容等场景动态的更改本集群在全局配置中心的视图。在本申请实施例中抛弃了域名这种传导非常缓慢的介质,而是将所有可服务的注册中心的地址告诉使用方,由使用方灵活的选择可服务的地址,这样即使在某个服务地址不可用的情况下,依然可以快速的选择下一个地址进行尝试。
综上所述,本申请实施例通过将注册中心下沉到存储集群,在注册中心故障或者网络断连的场景,只会影响单个存储集群的存储服务,控制了***半径的影响,提高了***的稳定性,同时跟随着存储集群的搭建而搭建具有良好的扩容性。本申请实施例通过引入全局配置中心,维护了存储集群名到注册中心服务地址的映射关系,这样有以下好处:计算集群不需要维护存储集群名到注册中心的映射关系,只需要根据集群名既可访问存储集群的存储服务。注册中心不再需要创建单独的域名,减少了注册中心过多,导致的域名维护问题。全局配置中心通过返回注册中心所有服务地址,即使在注册中心个别机器不可用场景,计算集群仍然可以通过简单轮询重试就可以快速恢复。
可选地,在本发明实施例一提供的分布式服务器发现的***中,无状态代理服务器,与全局配置中心通信连接,用于根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,其中,计算集群从无状态代理服务器中获取目标存储集群的注册中心的服务地址,以对目标存储集群进行服务发现和存储服务调用。
在上述方案中,通过无状态代理服务器将负责代理计算集群服务发现,去全局配置中心获取注册中心服务地址,然后去注册中心做服务发现,将地址信息返回给计算集群,这样地址解析只需要一跳就可以解析需要访问的存储集群服务地址,避免了原本解析存储服务的地址,需要两跳机制,第一跳获取注册中心地址,第二跳获取具体服务体制,通过无状态的Proxy来将两跳合并成一跳,如图7所示,提升了处理效率。需要说明的是,上述的Proxy可以为多个中心备份,多级Proxy,双向访问,Proxy具有存储及计算特性以及反向访问计算集群的能力。
可选地,在本发明实施例一提供的分布式服务器发现的***中,无状态代理服务器还用于根据目标网络域的名称和目标网络域负责的目标存储集群的名称获取目标存储集群所属的网络域注册中心的服务地址,其中,计算集群从无状态代理服务器中获取目标存储集群所属的网络域注册中心的服务地址,以对目标存储集群进行服务发现和存储服务调用。
在上述方案中,通过无状态代理服务器去全局配置中心获取注册中心服务地址,然后去网络域注册中心做服务发现,将地址信息返回给计算集群,此方法地址解析只需要一跳就可以解析需要访问的存储集群服务地址,避免了原本解析存储服务的地址,需要两跳机制,第一跳获取网络域注册中心地址,第二跳获取具体服务体制,通过无状态的Proxy来将两跳合并成一跳,提升了处理效率。同样需要说明的是,上述的Proxy可以为多个中心备份,多级Proxy,双向访问,Proxy具有存储及计算特性以及反向访问计算集群的能力。
需要说明的是,对于前述的各***实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的***可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的***。
实施例2
根据本发明实施例,还提供了一种分布式服务器发现的方法,如图9所示,该***包括:
步骤S901,向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系。
例如,注册中心上报的配置信息中的服务地址及状态如下表4所示:
表4
Figure BDA0002177891320000121
步骤S902,保存所有存储集群的配置信息,以供从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。
可选地,全局配置中心收到各个集群的配置信息之后就会形成一个大的视图,将存储集群的名称与注册中心的服务地址的映射关系存储。集群到集群配置服务地址的映射关系,如下表5所示:
表5
Figure BDA0002177891320000131
上述的计算集群的机器可以连接存储集群的Master节点进行服务调用。
可选地,在本发明实施例二提供的分布式服务器发现的方法中,每个存储集群中设置有注册中心,该方法还包括:根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
通过上述方案,存储节点将存储集群的注册中心的服务地址并缓存到本地,定期更新,通过引入多层缓存(存储注册中心缓存/存储集群Master地址缓存),提升服务的健壮性。
可选地,在本发明实施例二提供的分布式服务器发现的方法中,在每个存储集群中还包括多个存储节点,该方法还包括:通过所述存储节点选择注册中心的目标服务地址进行连接,通过所述注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储节点的服务地址注册到所述注册中心。
在上述方案中,存储集群的存储节点随机选取一台注册中心机器进行连接,通过注册中心的分布式锁功能,获取到分布式锁的节点,将自己的服务地址注册到注册中心。通过引入基于分布式锁的服务注册机制,计算节点可以灵活、快速地解析存储集群的Master地址。
需要说明的是,对于前述的各***实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的***可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的***。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
实施例3
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的分布式协调服务的处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;保存所有存储集群的配置信息,以供从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。
存储介质还被设置为存储用于执行以下步骤的程序代码:每个存储集群中设置有注册中心,该方法还包括:根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到目标存储集群中,按照预设周期进行更新。
存储介质还被设置为存储用于执行以下步骤的程序代码:在每个存储集群中还包括多个存储节点,该方法还包括:通过存储节点选择注册中心的目标服务地址进行连接,通过注册中心的分布式锁功能,获取到分布式锁的节点,将存储节点的服务地址注册到注册中心。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
实施例4
本发明的实施例可以提供一种终端,该终端可以是终端群中的任意一个终端设备。可选地,在本实施例中,上述终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,终端可以包括:第一装置;第二装置;处理器,处理器运行程序,其中,程序运行时对于从第一装置和第二装置输出的数据执行如下处理步骤:第一装置,向全局配置中心上报存储集群的配置信息,其中,配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;第二装置,保存所有存储集群的配置信息,以供从全局配置中心中根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,从而以对目标存储集群进行服务发现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

Claims (14)

1.一种分布式服务发现的***,其特征在于,包括:
注册中心,用于向全局配置中心上报存储集群的配置信息,其中,所述配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;
全局配置中心,用于保存所有存储集群的配置信息,以供计算集群从所述全局配置中心中根据目标存储集群的名称获取所述目标存储集群的注册中心的服务地址,从而以对所述目标存储集群进行服务发现。
2.根据权利要求1所述的***,其特征在于,所述注册中心设置在每个存储集群中,在每个存储集群中还包括多个存储节点,所述存储节点通过所述全局配置中心根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
3.根据权利要求2所述的***,其特征在于,所述存储节点还用于选择注册中心的目标服务地址进行连接,通过所述注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储节点的服务地址注册到所述注册中心。
4.根据权利要求1所述的***,其特征在于,所述注册中心还用于与每个网络域的多个存储集群通信连接,用于向全局配置中心上报每个网络域的配置信息,其中,所述配置信息中至少包括:网络域注册中心的服务地址和网络域的名称和所述网络域负责的存储集群的名称。
5.根据权利要求4所述的***,其特征在于,在每个存储集群中通过所述全局配置中心根据每个网络域的名称和所述网络域负责的存储集群的名称获取每个存储集群所属的网络域注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
6.根据权利要求4所述的***,其特征在于,所述存储集群还用于选择网络域注册中心的目标服务地址进行连接,通过所述网络域注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储集群的服务地址注册到所述网络域注册中心。
7.根据权利要求4所述的***,其特征在于,所述全局配置中心还用于收到各个网络域的配置信息之后,建立网络域的名称、所述网络域负责的存储集群的名称与网络域注册中心的服务地址的映射关系。
8.根据权利要求4所述的***,其特征在于,无状态代理服务器,与所述全局配置中心通信连接,用于根据目标存储集群的名称获取目标存储集群的注册中心的服务地址,其中,所述计算集群从所述无状态代理服务器中获取所述目标存储集群的注册中心的服务地址,以对所述目标存储集群进行服务发现和存储服务调用。
9.根据权利要求8所述的***,其特征在于,所述无状态代理服务器还用于根据目标网络域的名称和所述目标网络域负责的目标存储集群的名称获取所述目标存储集群所属的网络域注册中心的服务地址,其中,所述计算集群从所述无状态代理服务器中获取所述目标存储集群所属的网络域注册中心的服务地址,以对所述目标存储集群进行服务发现和存储服务调用。
10.一种分布式服务发现的方法,其特征在于,包括:
向全局配置中心上报存储集群的配置信息,其中,所述配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;
保存所有存储集群的配置信息,以供从所述全局配置中心中根据目标存储集群的名称获取所述目标存储集群的注册中心的服务地址,从而以对所述目标存储集群进行服务发现。
11.根据权利要求10所述的方法,其特征在于,每个存储集群中设置有注册中心,所述方法还包括:
根据每个存储集群的名称获取每个存储集群的注册中心的服务地址,并缓存到所述目标存储集群中,按照预设周期进行更新。
12.根据权利要求11所述的方法,其特征在于,在每个存储集群中还包括多个存储节点,所述方法还包括:
通过所述存储节点选择注册中心的目标服务地址进行连接,通过所述注册中心的分布式锁功能,获取到分布式锁的节点,将所述存储节点的服务地址注册到所述注册中心。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备运行权利要求10至12中任意一项所述的分布式服务发现的方法。
14.一种终端,其特征在于,包括:
第一装置;
第二装置;
处理器,所述处理器运行程序,其中,所述程序运行时对于从所述第一装置、第二装置输出的数据执行如下处理步骤:
第一装置,向全局配置中心上报存储集群的配置信息,其中,所述配置信息中至少包括:注册中心的服务地址和存储集群的名称的映射关系;
第二装置,保存所有存储集群的配置信息,以供从所述全局配置中心中根据目标存储集群的名称获取所述目标存储集群的注册中心的服务地址,从而以对所述目标存储集群进行服务发现。
CN201910785473.XA 2019-08-23 2019-08-23 分布式服务发现的***及方法、存储介质及终端 Active CN112422309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910785473.XA CN112422309B (zh) 2019-08-23 2019-08-23 分布式服务发现的***及方法、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910785473.XA CN112422309B (zh) 2019-08-23 2019-08-23 分布式服务发现的***及方法、存储介质及终端

Publications (2)

Publication Number Publication Date
CN112422309A CN112422309A (zh) 2021-02-26
CN112422309B true CN112422309B (zh) 2023-03-28

Family

ID=74779349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910785473.XA Active CN112422309B (zh) 2019-08-23 2019-08-23 分布式服务发现的***及方法、存储介质及终端

Country Status (1)

Country Link
CN (1) CN112422309B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315709B (zh) * 2021-03-22 2023-02-28 阿里巴巴新加坡控股有限公司 地址缓存的创建方法、路由选址方法和装置
CN113094074B (zh) * 2021-05-07 2024-03-19 聚好看科技股份有限公司 一种服务集群的更新方法及装置
CN113364706B (zh) * 2021-06-03 2023-01-31 上海中通吉网络技术有限公司 服务流量集中的方法
CN113472886B (zh) * 2021-06-30 2024-03-22 华云数据控股集团有限公司 分布式集群***及其控制方法
CN114745387A (zh) * 2022-04-20 2022-07-12 浙江立昂数智科技有限公司 一种多集群管控方法和***
CN115086321B (zh) * 2022-06-14 2024-04-05 京东科技信息技术有限公司 多集群流量转发方法及装置、电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105307058A (zh) * 2014-06-09 2016-02-03 中兴通讯股份有限公司 业务配置数据的处理方法及装置
CN105554160A (zh) * 2016-01-29 2016-05-04 四川长虹电器股份有限公司 一种基于nginx负载均衡的dubbo分布式集群***架构方法
CN105763582A (zh) * 2014-12-16 2016-07-13 阿里巴巴集团控股有限公司 用于切换服务注册设备的方法、设备及***
CN107766149A (zh) * 2017-09-22 2018-03-06 北京市天元网络技术股份有限公司 一种基于DUBBO的ZooKeeper集群配置的方法及装置
CN107786527A (zh) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 实现服务发现的方法及设备
CN108055248A (zh) * 2017-11-30 2018-05-18 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN108255615A (zh) * 2017-11-30 2018-07-06 平安科技(深圳)有限公司 跨语言调用方法、服务器及存储介质
CN109618005A (zh) * 2019-01-18 2019-04-12 华为终端有限公司 调用服务器的方法和代理服务器
CN110048879A (zh) * 2019-03-12 2019-07-23 平安医疗健康管理股份有限公司 微服务注册方法、装置、电子设备和计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105307058A (zh) * 2014-06-09 2016-02-03 中兴通讯股份有限公司 业务配置数据的处理方法及装置
CN105763582A (zh) * 2014-12-16 2016-07-13 阿里巴巴集团控股有限公司 用于切换服务注册设备的方法、设备及***
CN105554160A (zh) * 2016-01-29 2016-05-04 四川长虹电器股份有限公司 一种基于nginx负载均衡的dubbo分布式集群***架构方法
CN107786527A (zh) * 2016-08-31 2018-03-09 阿里巴巴集团控股有限公司 实现服务发现的方法及设备
CN107766149A (zh) * 2017-09-22 2018-03-06 北京市天元网络技术股份有限公司 一种基于DUBBO的ZooKeeper集群配置的方法及装置
CN108055248A (zh) * 2017-11-30 2018-05-18 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN108255615A (zh) * 2017-11-30 2018-07-06 平安科技(深圳)有限公司 跨语言调用方法、服务器及存储介质
WO2019104975A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN109618005A (zh) * 2019-01-18 2019-04-12 华为终端有限公司 调用服务器的方法和代理服务器
CN110048879A (zh) * 2019-03-12 2019-07-23 平安医疗健康管理股份有限公司 微服务注册方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN112422309A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112422309B (zh) 分布式服务发现的***及方法、存储介质及终端
CN106534328B (zh) 节点连接方法及分布式计算***
US7225356B2 (en) System for managing operational failure occurrences in processing devices
CN111182089B (zh) 容器集群***和访问大数据组件的方法、装置及服务器
CN112416969B (zh) 分布式数据库中的并行任务调度***
CN110391940B (zh) 服务地址的响应方法、装置、***、设备和存储介质
CN110825772A (zh) 多个服务实例的内存数据的同步方法、装置及存储介质
CN110830606A (zh) 解决异常dns缓存的方法、装置及计算机可读存储介质
CN112612769A (zh) 文件处理方法、装置及存储介质
EP2088808A1 (en) Methods and apparatuses for processing and managing subscriber data in telecommunication network
US10498617B1 (en) System, method, and computer program for highly available and scalable application monitoring
CN111131040A (zh) 路由的配置方法、装置及***、存储介质、电子装置
CN114398397A (zh) 数据处理方法、装置、存储介质以及***
CN112087506B (zh) 一种集群节点管理方法、装置及计算机存储介质
US8954445B2 (en) System and method for efficiently representing and managing a computer facility
Nakkiran et al. Fundamental limits on communication for oblivious updates in storage networks
CN109451090B (zh) 一种域名解析方法及装置
CN109412940B (zh) 路由器管理方法及路由器管理***
AU705516B2 (en) Arrangement and method for linking clients to servers at run time in a distributed networking environment
CN112395313A (zh) 全局序列生成方法、装置、电子设备及计算机存储介质
CN112866351B (zh) 数据交互方法、装置、服务器及存储介质
CN115562757A (zh) 数据处理方法、配置中心***、电子设备及存储介质
US9015518B1 (en) Method for hierarchical cluster voting in a cluster spreading more than one site
CN112311904A (zh) 更新域名记录的方法、装置、存储介质以及域名管理***
CN112711466A (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