zookeeper

zookeeper是一种通过类似文件目录数据结构实现的分布式数据存储和系统协调的框架。

在zookpeer中存在4中节点,持久节点,临时节点,有序持久节点,有序临时节点。同时客户端可以再这些节点上面
注册监听watcher。zookeeper服务在这些节点发生变化的时候创建event时间,同时通过回话传递给client端。
zookeeper很多典型的应用都是基于这些原理。包括统一的命名服务,配置管理,集群管理和一些并发控制的工具等(分布式锁,栅栏,信号量等)。

zookpeeper在分布式协调中保证了两点,1,所有的事务性请求都会按照请求的顺序执行。2,所有的事务性请求都会通过原子广播执行,要么全部成功,要么失败保证数据的
一致性。
zookeeper中,所有的事务性请求都是通过master节点来进行处理的,master会为每一个事务请求分配一个全局的事务iD用来保证执行的顺序。
对于事务性请求,master将其封装成一个提案,广播给所有的follwer,在收到半数以上的foller的确认消息后,master发布commit指令。follwer完成事务提交
并写入事务日志。

zookeeper集群的高可用。
zookeeper集群在提供服务中存在两种状态,灾难恢复状态和广播消息状态。
在master节点崩溃后,zookeeper集群会进入到灾难恢复状态,首先会通过mater选举重新产生一个新的准master,master会和follwer进行数据同步,只有超过
半数以上的follwe完成数据同步以后,集群再次进入广播消息状态。
zookeeper中的细节点:
1,客户端和服务端watcher的细节
2,客户端请求的处理流程
3,选举过程
4,数据同步过程。

posted @ 2017-08-08 19:16  依米熊  阅读(191)  评论(0编辑  收藏  举报