zk是什么、文件+监听
zookeeper=文件系统+监听通知机制(观察者设计模式)1、zookeeper可以在他的目录节点里存储数据(每个znode能存储1M数据)2、客户端监听他关心的目录节点,当目录节点发生变化(数据改变、节点被删除、子目录节点增加删除)时,zookerper会通知客户端--ZooKeeper中的Watcher是一次性的,即触发一次就会被取消,如果想继续Watch的话,需要客户端重新设置Watcher1、节点的值变化监听 get -w /sanguo2、节点的子节点变化监听 ls -w /sanguo
zk特点
1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。 2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。3)一致性:数据一致性、数据原子性、数据执行有序性
zk应用场景
统一命名服务:类似qconf统一配置管理:配置文件由zk存储统一集群管理:类似zkfc管理namenode
角色
- Leader 可以为客户端提供读写服务。
- Follower 只能提供读服务、参与 Leader 的选举过程
- Observer 只能提供读服务、不参与 Leader 的选举过程(因此 Observer 机器可以在不影响写性能的情况下提升集群的读性能。)
写流程(与leader通信、与follower通信)

