标签:
1.zk service什么情况下不可用?
2.zk写数据,什么时候才算完成?
3.zk读数据可以在任意一台zk节点上,为什么?
4.zk znode有哪些类型?
带着这些问题走进zookeeper吧。。。
zk service网络结构
zookeeper的工作集群可以简单分成两类,一个是Leader,唯一一个,其余的都是follower,如何确定Leader是通过内部选举确定的。
Leader和各个follower是互相通信的,对于zk系统的数据都是保存在内存里面的,同样也会备份一份在磁盘上。对于每个zk节点而言,可以看做每个zk节点的命名空间是一样的,也就是有同样的数据(下面的树结构)
zk命名空间结构
zk的命名空间就是zk应用的文件系统,它和linux的文件系统很像,也是树状,这样就可以确定每个路径都是唯一的,对于命名空间的操作必须都是绝对路
径操作。与linux文件系统不同的是,linux文件系统有目录和文件的区别,而zk统一叫做znode,一个znode节点可以包含子znode,同
时也可以包含数据。
比如/Nginx/conf,/是一个znode,/Nginx是/的子znode,/Nginx还可以包含数据,数据内容就是 所有安装Nginx的机器IP,/Nginx/conf是/Nginx子znode,它也可以包含内容,数据就是Nginx的配置文件内容。在应用中,我 们可以通过这样一个路径就可以获得所有安装Nginx的机器IP列表,还可以获得这些机器上Nginx的配置文件。
zk读写数据
zk znode类型
zk中znode的节点创建时候是可以指定类型的,主要有下面几种类型。
标签:
原文地址:http://www.cnblogs.com/xubiao/p/5551426.html