前言
记得第一次在项目中使用zookeeper
是在2013年,其实也就是写了最简单的功能–配置。场景是这样,当在程序运行时,不重启程序的情况下,能动态改变其参数时。通过的做法时,把配置写在配置文件或数据库,定时去扫描他们是否变化,技术nb点的人,可能就会通过jmx
。而有了zookeeper
,通过它的watch
机制,可以通过少量代码就可以实现同样的功能,大大降低了复杂度。
随着后来使用了越来越多的使用hbase、kafka、storm
之后才发现,原来大数据的许多的组件都使用了它。俨然成了分布式环境中,不可缺少的组件。包括阿里的dubbo
也用它来做服务注册、服务发现。
进阶
后来,在各种场景中都大量使用了它之后,对zookeeper
的依赖越来越强烈了,对其很多功能都很好奇,如:选举机制、watch
机制、session
机制、事务机制、广播机制、二阶段提交等。这些内容基本上只能看源码并debug
才能更好的理解。当理解之后,当自己开发的分布式程序大有益处。
总结
经过近些年使用zookeeper
,通过思维导图的方式将于总结了一下。如下图所示:
思维导图-zookeeper应用场景
zookeeper思维导图
从Paxos到Zookeeper 脑图,不对地方请指正
从Paxos到Zookeeper(1)
《从Paxos到Zookeeper》第一章的读书笔记,希望对别人有帮助
从Paxos到Zookeeper(2)
《从Paxos到Zookeeper》第二章-个人学习笔记分享。希望对其他人有帮助
Zookeeper
zookeeper 架构、核心概念、关键流程
Zookeeper知识体系总结
Zookeeper 配置
Zookeeper
一图看懂Zookeeper
从Paxos到Zookeeper一致性
《从Paxos到Zookeeper》 知识点思维导图