zookeeper(1) 概述

  首先我们来讲一下zookeeper要解决什么问题。在大型分布式系统中经常会存在下面的几类问题:

    1.分布式系统中,经常需要一个公共的存储系统,用来存储一些配置信息。

    2.分布式系统中,经常需要一个管理中心来协调各个节点的变化。

  然后我们再来看看zookeeper是如何解决上面的问题的:

    1.Zookeeper维护一个类似文件系统的数据结构

    和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,并且znode是可以存储数据的。

    2.客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。 

    简单的说,zookeeper提供了一个文件系统和基于该文件系统变更的通知机制

Zookeeper整体架构

  zookeeper不但提供了文件系统和基于文件系统变更通知的功能,还提供了一套高可用的集群服务。zookeeper的整体架构入下图,主要由客户端和服务端组成,客户端可以连接任意服务端进行操作,但对于事务操作,必须统一交给leader服务器处理,然后再同步给其他的服务器。zookeeper采用的最终一致性原则。

 

posted @ 2018-06-13 12:16  zwh1988  阅读(150)  评论(0编辑  收藏  举报