一种Zookeeper集群系统及其连接方法和装置制造方法及图纸

技术编号:18723961 阅读:50 留言:0更新日期:2018-08-22 00:53
本发明专利技术实施例提供了一种Zookeeper集群系统及其连接方法和装置,包括代理装置,该代理装置部署在Zookeeper客户端所在的机器上,每个Zookeeper客户端通过代理装置与服务端相连接、其中,代理装置用于维护Zookeeper集群的服务端列表,并根据Zookeeper客户端的请求将Zookeeper客户端连接到服务端的具体机器上,并向具体机器转发Zookeeper客户端的请求。由于代理装置部署在Zookeeper客户端所在的机器上,并维护有服务端列表,从而Zookeeper客户端可以就近获取服务端列表以便对自身的服务端列表进行更新,由于不是从服务端获取服务端列表进行更新,也就避免了资源竞争的问题,从而能够避免因资源竞争而导致无法及时更新服务端列表的问题。

A Zookeeper cluster system and its connection method and device

The embodiment of the invention provides a Zookeeper cluster system and its connection method and device, including a proxy device, which is deployed on the machine on which the Zookeeper client is located, each Zookeeper client is connected to the server through the proxy device, wherein the proxy device is used to maintain the service end sequence of the Zookeeper cluster. Table, and according to the request of the Zookeeper client, connect the Zookeeper client to the server specific machine, and forward the request of the Zookeeper client to the specific machine. Because the proxy device is deployed on the machine on which the Zookeeper client is located and the server list is maintained, the Zookeeper client can retrieve the server list in close proximity to update its own server list. Since the server list is not retrieved from the server to update, the resource contention problem is avoided Thus, it can avoid the problem of not updating the server list in time because of resource competition.

【技术实现步骤摘要】
一种Zookeeper集群系统及其连接方法和装置
本专利技术涉及互联网
,特别是涉及一种Zookeeper集群系统及其连接方法和装置。
技术介绍
Zookeeper集群是被很多互联网公司广泛使用的分布式协调系统,其作为分布式系统的重要基石,所提供的协调机制被很多重要的大型分布式系统底层所依赖,比如分布式计算系统Hadoop,消息系统Kafka等。Zookeeper集群依赖Zab协议为用户提供了一致性的保证,可提供选主、分布式锁等功能。由于Zookeeper集群的底层依赖ZAB协议,所以客户端的写操作需要在大多数服务端上同时写成功才被认为写成功,这种机制导致部署的服务端数目越多则写操作耗时越长。因此为了保证一致性和写操作的性能。在部署时一般选择3台或5台机器来部署Zookeeper集群。Zookeeper集群自身的限制使得需要Zookeeper客户端维护Zookeeper集群所有的服务端列表,并及时更新服务端列表。当大量客户端同时连接到Zookeeper集群的服务端时,由于资源竞争问题而导致客户端无法及时更新服务端列表。
技术实现思路
有鉴于此,本专利技术提供了一种Zookeeper集群系统及其连接方法和装置,以解决当大量客户端Zookeeper与服务端相连接时,因资源竞争而导致Zookeeper客户端无法及时更新服务端列表的问题。为了解决上述问题,本专利技术公开了一种Zookeeper集群系统,包括代理装置,所述代理装置部署在Zookeeper客户端所在的机器上,每个所述Zookeeper客户端通过所述代理装置与服务端相连接,其中:所述代理装置用于维护所述Zookeeper集群系统的服务端列表,并根据所述Zookeeper客户端的请求将所述Zookeeper客户端连接到所述服务端的所述请求所指向的具体机器上,并向所述具体机器转发所述Zookeeper客户端的请求。可选的,所述代理装置还用于当接收到所述Zookeeper客户端发送的列表更新指令时,将所维护的服务端类别返回给所述Zookeeper客户端。还公开了一种连接方法,应用于如上所述的Zookeeper集群系统的代理装置,所述代理装置包括至少一个处理器,以及与所述处理器相连接的存储器,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如下操作步骤:接收每个所述Zookeeper集群系统的Zookeeper客户端发送的请求指令;为所述请求指令配置路径信息;将配置有路径信息的请求指令发送到服务端;接收服务端根据附带有路径信息的请求指令所返回的返回结果;将返回结果去掉所述路径信息后发送到所述Zookeeper客户端。可选的,所述操作步骤还包括:存储服务端返回的并去掉所述路径信息的所述返回结果;当接收到Zookeeper客户端发送的与所述返回结果相匹配的请求指令时,向所述Zookeeper客户端返回所述返回结果。另外,还提供了一种连接装置,应用于如上所述的Zookeeper集群系统的代理装置,所述连接装置包括:第一接收模块,用于接收每个所述Zookeeper集群系统的Zookeeper客户端发送的请求指令;路径配置模块,用于为所述请求指令配置路径信息;第一发送模块,用于将配置有路径信息的请求指令发送到服务端;第二接收模块,用于接收服务端根据附带有路径信息的请求指令所返回的返回结果;第二发送模块,用于将返回结果去掉所述路径信息后发送到所述Zookeeper客户端。可选的,还包括:第三接收模块,用于存储所述服务端返回的并去掉所述路径信息的所述返回结果;第三发送模块,用于当接收到所述Zookeeper客户端发送的与所述返回结果相匹配的请求指令时,向所述Zookeeper客户端返回所述返回结果。从上述技术方案可以看出,本专利技术提供了一种Zookeeper集群系统及其连接方法和装置,该Zookeeper集群系统包括代理装置,该代理装置部署在Zookeeper客户端所在的机器上,每个Zookeeper客户端通过代理装置与服务端相连接、其中,代理装置用于维护Zookeeper集群的服务端列表,并根据客户端的请求将Zookeeper客户端连接到服务端的具体机器上,并向具体机器转发Zookeeper客户端的请求。由于代理装置部署在Zookeeper客户端所在的机器上,并维护有服务端列表,从而Zookeeper客户端可以就近获取服务端列表以便对自身的服务端列表进行更新,由于不是从服务端获取服务端列表列表进行更新,也就避免了资源竞争的问题,从而能够避免因资源竞争而导致无法及时更新服务端列表的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种Zookeeper集群系统的结构示意图;图2为本专利技术实施例提供的一种Zookeeper集群系统的连接方法的步骤流程图;图3为本专利技术实施例提供的另一种Zookeeper集群系统的连接方法的步骤流程图;图4为本专利技术实施例提供的一种Zookeeper集群系统的连接装置的结构框图;图5为本专利技术实施例提供的另一种Zookeeper集群系统的连接装置的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1为本专利技术实施例提供的一种Zookeeper集群系统的结构示意图;参照图1所示,本实施例提供的Zookeeper集群包括服务端100和代理装置300,服务端配置于集中或分散配置的多台服务器上,用于为Zookeeper客户端提供集群服务;Zookeeper客户端则直接为用户提供用于访问该服务端的接口系统。一般来说Zookeeper客户端为多个,用于为多个用户提供服务。代理装置部署于Zookeeper客户端所在的机器上。这里的代理装置可以理解为具有数据处理的硬件电子设备,也可以理解为Zookeeper客户端所在的机器通过运行相应的程序实现的功能模块。代理装置用于维护Zookeeper集群系统的服务端列表,该服务端列表中包含有以列表形式记录的该集群部署的多个服务器的信息;该代理装置还用于根据接收Zookeeper客户端的请求,并根据接收到的请求将Zookeeper客户端连接到该请求所指向的具体机器,该具体机器是指上述集群部署的多个机器中的一个,连接后将该请求发送到相应的具体机器。另外,该代理装置还用于当接收到某个Zookeeper客户端发送的列表更新请求时,并不是将该请求发送至服务端,而是将自身所维护的服务端列表返回给发送该请求的Zookeeper客户端,从上述技术方案可以看出,本实施例中提供了一种Zookeeper集群系统,包括代理装置,部署在Zookeeper客户端所在的机器上,每个Zookeeper客户端通过代理装置与服务端相连接、其中本文档来自技高网...

【技术保护点】
1.一种Zookeeper集群系统,其特征在于,包括代理装置,所述代理装置部署在Zookeeper客户端所在的机器上,每个所述Zookeeper客户端通过所述代理装置与服务端相连接,其中:所述代理装置用于维护所述Zookeeper集群系统的服务端列表,并根据所述Zookeeper客户端的请求将所述Zookeeper客户端连接到所述服务端的所述请求所指向的具体机器上,并向所述具体机器转发所述Zookeeper客户端的请求。

【技术特征摘要】
1.一种Zookeeper集群系统,其特征在于,包括代理装置,所述代理装置部署在Zookeeper客户端所在的机器上,每个所述Zookeeper客户端通过所述代理装置与服务端相连接,其中:所述代理装置用于维护所述Zookeeper集群系统的服务端列表,并根据所述Zookeeper客户端的请求将所述Zookeeper客户端连接到所述服务端的所述请求所指向的具体机器上,并向所述具体机器转发所述Zookeeper客户端的请求。2.如权利要求1所述的Zookeeper集群系统,其特征在于,所述代理装置还用于当接收到所述Zookeeper客户端发送的列表更新指令时,将所维护的服务端类别返回给所述Zookeeper客户端。3.一种连接方法,应用于如权利要求1或2所述的Zookeeper集群系统的代理装置,其特征在于,所述代理装置包括至少一个处理器,以及与所述处理器相连接的存储器,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如下操作步骤:接收每个所述Zookeeper集群系统的Zookeeper客户端发送的请求指令;为所述请求指令配置路径信息;将配置有路径信息的请求指令发送到服务端;接收服务端根据附带有路径信息的...

【专利技术属性】
技术研发人员:梁云龙
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1