最经在做项目时需要用到分布式锁服务,我在apache网站上找到Zookeeper这个项目,它能帮我实现相应的需求.下面我就一步一步的学习Zookeeper.
Zookeeper是针对分布式应用做分布式协调服务的,我们可以在它基础上做一些高层次的服务,比如分布式锁服务,配置参数的管理,命名服务等。它的数据模型和标准的文件系统目录结构很相似。Zookeeper提供了java和c2种实现。
下图为zookeeper的集群服务图:
当客服端有除修改服务器数据的请求时和客服端连接的zookeeper(不是leader)不会向leadder服务器发送请求会直接在本地zookeeper服务器内存数上查看状态并返回响应。如果有修改zookeeper服务器端数据的请求到来时,它会向leader服务器发送数据进行同步操作。
下图为zookeeper的数据模型:
它是一个类文件系统的数据模型,和文件系统唯一不同的是该数据模型的每个节点都可以存储数据不向文件系统目录是不能存储数据的。