使Zookeeper的读性能支持水平扩展的系统和方法技术方案

技术编号:8657574 阅读:265 留言:0更新日期:2013-05-02 01:29
一种使Zookeeper的读性能支持水平扩展的系统及方法。所述方法包括:包括两个或更多个读访问服务器的读访问服务器集群,用于完成客户端对Zookeeper的读数据请求的响应;以及Zookeeper服务集群,用于通过Watcher机制将修改内容推送到所述读访问服务器集群中的所述两个或更多个读访问服务器。

【技术实现步骤摘要】

本专利技术涉及使Zooke印er的读性能支持水平扩展的系统和方法。
技术介绍
Zookeeper是一种可靠存储状态的分布式发布系统,在需要提供可靠的状态存储时,通常需要使用Zookeeper。然而,Zookeeper不是一种可以水平扩展的系统,存在性能瓶颈。因此,Zookeeper无法支持大量的读数据请求。所以,期望提供一种能使Zook^per的读性能支持水平扩展的系统和方法。
技术实现思路
为了解决现有技术中的上述缺点和问题而提出本专利技术。根据一个方面,本专利技术提出一种使Zooke印er的读性能支持水平扩展的系统,包括:包括两个或更多个读访问服务器的读访问服务器集群,用于完成客户端对Zookeeper的读数据请求的响应;以及Zookeeper服务集群,用于通过Watcher机制将修改内容推送到所述读访问服务器集群中的所述两个或更多个读访问服务器。可选地,所述读访问服务器集群中的所述两个或更多个读访问服务器与所述Zookeeper保持长连接。可选地,当客户端发出读请求时,根据预置规则将所述读请求转发给所述两个或更多个读访问服务器中的一个,当该读访问服务器与所述Zookeeper的长连接存在时,该读访问服务器基于所述读请求查找信息并返回查询内容;当该读访问服务器与所述Zookeeper的长连接不存在时,将所述读请求转发给所述两个或更多个读访问服务器中的其他读访问服务器。可选地,所述系统进一步包括负载均衡器,当客户端发出读请求时,所述负载均衡器将所述读请求分配给所述两个或更多个读访问服务器中的一个,当该读访问服务器与所述Zookeeper的长连接存在时,该读访问服务器基于所述读请求查找信息并返回查询内容;当该读访问服务器与所述Zookeeper的长连接不存在时,所述负载均衡器将所述读请求重新分配给所述两个或更多个读访问服务器中的一个读访问服务器。可选地,当Zookeeper发生内容添加或更新时,Zookeeper将所添加或更新的内容发布给所述两个或更多个读访问服务器。可选地,当读访问服务器与Zookeeper服务集群之间的长连接断接时,该读访问服务器重新与所述Zookeeper服务集群建立长连接,并从所述Zookeeper服务集群下载全部内容或断接期间的更新内容 。根据另一个方面,提出一种使Zook^per的读性能支持水平扩展的方法,包括:客户端发出读请求;将所述读请求转发给两个或更多个读访问服务器中的一个;确定该读访问服务器与Zookeeper的长连接是否存在;当所述长连接存在时,该读访问服务器基于所述读请求查找信息,并且将查询内容返回给所述客户端;以及当所述长连接不存在时,将所述读请求转发给所述两个或更多个读访问服务器中的其他读访问服务器。可选地,将所述读请求转发给两个或更多个读访问服务器中的一个是通过负载均衡器来完成的。可选地,当Zookeeper服务集群发生内容添加或更新时,所述Zookeeper服务集群将所添加或更新的内容发布给所述两个或更多个读访问服务器。可选地,当读访问服务器与Zookeeper服务集群之间的长连接断接时,该读访问服务器重新与所述Zookeeper服务集群建立长连接,并从所述Zookeeper服务集群下载全部内容或断接期间的更新内容。附图说明通过下面结合附图进行的描述,本专利技术一些示范性实施例的上述和其他方面、特征和优点对于本领域技术人员来说将变得显而易见,其中:图1是根据本专利技术的使Zookeeper的读性能支持水平扩展的系统的框图;图2是根据本专利技术的使Zookeeper的读性能支持水平扩展的方法的一个实现方式的流程图,其示出了无负载均衡器的情况;图3是根据本专利技术的使Zookeeper的读性能支持水平扩展的方法的另一个实现方式的流程图,其示出了有负载均衡器的情况;图4示出了对Zookeeper服务集群添加或更新内容时的过程的流程 图5示出了恢复读访问服务器与Zooke印er服务集群之间的长连接的一个实现方式的处理流程,其示出了无负载均衡器的情况;以及图6示出了恢复读访问服务器与Zookeeper服务集群之间的长连接的一个实现方式的处理流程,其示出了有负载均衡器的情况。具体实施例方式提供参考附图的下面描述以帮助全面理解本专利技术的示范性实施例。其包括各种细节以助于理解,而应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,省略了对公知功能和结构的描述。下面将参考附图详细描述本专利技术。图1是根据本专利技术的使Zook^per的读性能支持水平扩展的系统的框图。如图1中所不,该系统包括读访问服务器集群110和Zookeeper服务集群120。读访问服务器集群110也可称作前置服务器集群,其包括两个或更多个读访问服务器或前置服务器,在图中作为示例图示了三个读访问服务器110-1、110-2、110-3。读访问服务器集群110用于完成客户端对Zookeeper的读数据请求的响应。也就是说,当客户端发出对Zookeeper的读数据请求时,客户端不访问Zookeeper,而是访问读访问服务器集群。优选地,读访问服务器集群为了完成客户端对Zookeeper的读数据请求的响应,其与Zookeeper服务集群保持长连接。具体地,当客户端发出读请求时,根据预置规则(例如可以在客户端保存所有读访问服务器的列表,采用随机访问或者顺序访问的方式访问读服务器;或者可以通过域名和负载均衡服务器,将请求转发给读访问服务器)将所述读请求转发给读访问服务器集群中的一个读访问服务器。该读访问服务器确定其与Zookeeper的长连接是否存在。当该读访问服务器与所述Zookeeper的长连接不存在时,该读访问服务器基于所述读请求查找信息并返回查询内容给客户端。另一方面,当该读访问服务器与Zookeeper的长连接不存在时,将所述读请求转发给其他读访问服务器直到没有可用的读访问服务器为止,以由其他读访问服务器返回查询内容。替选地,当客户端发出读请求时,由负载均衡器将所述读请求转发给读访问服务器集群中的一个读访问服务器。该读访问服务器确定其与Zookeeper的长连接是否存在。当该读访问服务器与所述Zookeeper的长连接不存在时,该读访问服务器基于所述读请求查找信息并返回查询内容给客户端。如果该读访问服务器与Zookeeper的长连接不存在,则负载均衡器重新将所述读请求分配给读访问服务器直到达到预设的最大重复次数为止。 例如,读访问服务器可以包括读数据接口来接收来自客户端的读请求。Zookeeper服务集群120用于通过Watcher机制将修改内容推送到所述读访问服务器集群中的所述两个或更多个读访问服务器。具体地,当一个客户端向Zookeeper服务集群发出添加或更新请求时,Zookeeper服务集群基于添加或更新请求来添加或更新内容。在Zookeeper服务集群添加或更新内容之后,Zookeeper服务集群将所添加或更新的内容发布给所述两个或更多个读访问服务器。而且,每当读访问服务器与Zookeeper服务集群之间的长连接断接时,读访问服务器处于不能提供服务状态。于是,该读访问服务器尝试与所述Zookeeper服务集本文档来自技高网...

【技术保护点】
一种使Zookeeper的读性能支持水平扩展的系统,包括:包括两个或更多个读访问服务器的读访问服务器集群,用于完成客户端对Zookeeper的读数据请求的响应;以及Zookeeper服务集群,用于通过Watcher机制将修改内容推送到所述读访问服务器集群中的所述两个或更多个读访问服务器。

【技术特征摘要】
1.一种使Zookeeper的读性能支持水平扩展的系统,包括: 包括两个或更多个读访问服务器的读访问服务器集群,用于完成客户端对Zookeeper的读数据请求的响应;以及 Zookeeper服务集群,用于通过Watcher机制将修改内容推送到所述读访问服务器集群中的所述两个或更多个读访问服务器。2.根据权利要求1所述的系统,其中,所述读访问服务器集群中的所述两个或更多个读访问服务器与所述Zookeeper保持长连接。3.根据权利要求1所述的系统,其中,当客户端发出读请求时,根据预置规则将所述读请求转发给所述两个或更多个读访问服务器中的一个, 当该读访问服务器与所述Zookeeper的长连接存在时,该读访问服务器基于所述读请求查找信息并返回查询内容; 当该读访问服务器与所述Zookeeper的长连接不存在时,将所述读请求转发给所述两个或更多个读访问服务器中的其他读访问服务器。4.根据权利要求1所述的系统,其中,所述系统进一步包括负载均衡器, 当客户端发出读请求时,所述负载均衡器将所述读请求分配给所述两个或更多个读访问服务器中的一个, 当该读访问服务器与所述Zookeeper的长连接存在时,该读访问服务器基于所述读请求查找信息并返回查询内容; 当该读访问服务器与所述Zookeeper的长连接不存在时,所述负载均衡器将所述读请求重新分配给所述两个或更 多个读访问服务器中的一个读访问服务器。5.根据权利要求1所述的系统,其中,...

【专利技术属性】
技术研发人员:张永成
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1