首页 > 其他 > 详细

Zookeeper的学习

时间:2016-01-25 21:02:46      阅读:157      评论:0      收藏:0      [点我收藏+]

1.Zookeeper是什么?

引用官方的说法:“Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级 的服务,比如同步,配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端 API”。

2.Zookeeper总体结构

Zookeeper服务自身组成一个集群。Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。

Zookeeper逻辑图如下:

技术分享

(1).客户端可以连接到每个server,每个server的数据完全相同。

(2).每个follower都和leader有连接,接受leader的数据更新操作。

(3).Server记录事务日志和快照到持久存储。

(4).大多数server可用(2n+1个服务允许n个失效),整体服务就可用。

3.Zookeeper数据模型

Zookeeper表现为一个分层的文件系统目录树结构(不同于文件系统的是,节点可以有自己的数据,而文件系统中的目录节点只有子节点)。

圆形节点可以含有子节点,多边形节点不能含有子节点。一个节点对应一个应用,节点存储的数据就是应用需要的配置信息。

Zookeeper 特点

(1).顺序一致性:按照客户端发送请求的顺序更新数据。

(2).原子性:更新要么成功,要么失败,不会出现部分更新。

(3).单一性 :无论客户端连接哪个server,都会看到同一个视图。

(4).可靠性:一旦数据更新成功,将一直保持,直到新的更新。

(5).及时性:客户端会在一个确定的时间内得到最新的数据。

 

Zookeeper的学习

原文:http://www.cnblogs.com/weiguo21/p/5158346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!