1.介绍
1)zookeeper是分布式协调工具
2)zookeeper=文件系统+通知机制
[1]文件系统:由znode组成
[2]通知机制:客户端可以监控znode子目录或znode中存储的内容,一旦监听的东西发生变化,会收到Zookeeper的通知,客户端从而可以做出相应反应.
2.特点
1)zookeeper是server组成的集群,会从server选举出一个leader,其余为follower.
[1]leader负责投票的发起和决议,更新系统的状态.
[2]follower负责在选举leader过程中参与投票.接收客户端请求并向客户端返回结果.
2)集群只要有半数以上节点存活,zookeeper集群就能正常服务.
3)全局数据一致:每个server存储相同的数据,客户端无论连接哪个server,看到的数据都是一样的.
4)数据更新原子性:一次数据更新要么成功,要么失败.
5)更新请求顺序进行:来自同一个客户端的更新请求按其发送顺序一次执行.
6)实时性:客户端能读到最新的数据(在一定的时间范围内).
3.节点的类型
1.持久化目录节点(persistent)
客户端与zookeeper断开连接后,该节点依旧存在.
2.持久化顺序编号目录节点(persistent_sequential)
3.临时目录节点(ephemeral)
4.临时顺序编号目录节点(ephemeral_sequential)