ZooKeeper源码分析-目录

背景

ZooKeeper是一款开源的分布式应用的分布式协调服务。它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

其特点如下:

  1. 虽然是内存数据库,但提供持久化功能,通过快照事务日志将数据持久化到磁盘,即使服务器关闭,依然可以恢复本地数据
  2. ZooKeeper提供的数据类型单一,且每个ZNode最多存放1MB数据,但提供了顺序结点临时结点
  3. ZooKeeper提供了强大的监听功能,客户端可以作为观察者获取数据更改的通知
  4. ZooKeeper是一个分布式的产品,在少于半数的服务器宕机的情况下依然可以对外提供服务,并且在保持高可用性的同时通过leader选举,数据同步原子广播保证了强一致性
  5. ZooKeeper中只有leader可以处理写操作,保证了客户端的写请求顺序执行
  6. 可以根据ZooKeeper提供的功能进行扩展,完成如分布式锁,分布式队列,leader选举等功能(如集群中每个服务器在同一路径下创建一个临时顺序子结点,创建的最小顺序的结点成为leader,同时在最小结点上注册监听事件,则可实现leader选举,并且旧leader宕机时可重新选举新leader).详见curator官网Recipes

目录

  1. Zookeeper源码分析(一) —– 源码运行环境搭建
  2. Zookeeper-服务器端启动流程(单机模式)
  3. Zookeeper-持久化

总结

我fork了一份apache/zookeeper的源码,在学习的过程中填加了很多注释,供大家参考pfjia/zookeeper

参考

猜你喜欢

转载自blog.csdn.net/jpf254/article/details/80718418