Zookeeper集群特点:
Zookeeper集群特点: 1、zookeeper的主机叫leader,从机叫follwer(一个领导者,多个跟随者)
2、zookeeper集群的服务器不用全部工作,半数以上服务器存活,zk就能正常运行(所以建议zk集群为奇数个), 3、zk所有节点存的数据是全部一致的 4、更新请求顺序进行,来自同一个client的请求按其发送顺序一次执行 理解: 以下是zookeeper集群的服务器, server1 server2 server3
有两条写数据(1,2代替)进入到server1,server1 是先写1,后写2,因为他的数据是全局保持一致的,所以zookeeper集群里边的每台server都要写这两条数据,但是由于网络原因,当数据到达server3的时候,是数据2先到达的,数据1后到达的,但是还是能实现先写数据1,后写数据2,一直按照原来的顺序来,不会变
5、数据更新的原子性,一次数据要么成功要么失败, 理解: 就是当client向zk集群发送一条数据的时候,集群里所有的机器都会执行,要么都执行成功,要么都执行失败,当返回结果成功的时候,说明集群所有的server都更新了
6、能实时获取zk里的数据
Zookeeper的数据结构:
Zookeeper的数据结构模型与linux文件系统类似,整体上可以看成一棵树,每个节点成为一个znode,每一个znode都能存储1MB的数据,每个znode都可以通过其路径唯一标识
与linux文件系统的区别就是,zookeeper的文件系统没有文件和目录的区别,每个znode既可以有子节点,又可以存数据,在linux上目录之能存文件,文件才能存数据。
Znode是 “/” 下边的节点,每个znode下边的节点就用唯一路径标识。