一.什么是zookeeper
它是一个为分布式应用提供一致性服务的软件.提供的功能包括:配置维护/域名服务/分布式同步/组服务等.
二.zookeeper有哪些功能呢?
集群管理:监控节点存活状态/运行请求等.
主节点选举:当主节点挂点之后,从节点投票重新选择主主节点;
分布式锁:提供两种锁:独占锁和共享锁.独占锁一个线程独占,共享锁是读共享,写互斥;
命名服务:在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务的地址,提供者等信息;
三.zookeeper的部署模式
单机部署
集群部署
伪集群部署
四.zookeeper如何保证主从结点信息的同步?
zookeeper的核心在于原子广播,这个机制保证了各个server之间的同步.要实现这个机制用到了zab协议;
zab协议它有两种模式:
恢复模式(选主):当服务启动或者leader挂掉之后,恢复模式启动,当leader选出来之后,其从节点与leader同步之后,恢复模式结束;
广播模式(同步)
五.zookeeper的通知机制
客户端会对其中一个server建立一个watch事件,当该znode发生改变时,客户端就会收到server的通知,然后客户端做出相应的改变.