Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1359101
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: 大数据

2014-10-11 17:54:40

    以提问的方式来发起对zookeeper基本认识的思考
      (1)集群中每个zookeeper服务器上的dataDir都一样,还是只有leader才有?znode也提出同样的疑惑
          每个zk节点上的dataDir都基本相同,只是myid文件不同,其中保存了zk的id值
          每个zk上的znode目录结构都是一样的,没有leader与follower的区别
      (2)zk上的znode包含的信息有哪些?
          znode创建时的zxid即czxid
          znode最后一次修改是的zxid即mzxid
          znode数据提交的次数即dataVersion
      (3)数据的zxid是谁分配的,Follower还是Leader?
          这个应该是由Leader来分配的,Follower没有办法分配
      (4)在zk上所有的写的操作都是需要经过leader?
         在zk上建立、删除znode,删除和修改数据都需要经过严格的决策过程
      (5)假定同时有2个zk的客户端提起请求,zk是怎么控制谁先响应的呢?
   zookeeper对外提供服务的本质
      对外提供的服务基本可以分成2类
      一类是具体的服务提供者需要在zk上保存资源信息
       如:配置服务,缓存服务,这类算是zk提供的资源类服务,节点类型一般是永久节点
      另一类是具体的服务提供者需要在保存资源标识
       类似互斥锁、二阶段提交,这类算是zk提供的控制类服务,节点类型一般是临时节点和序列节点
   zookeeper适合的使用场景
       zk只适合在服务内部提供协议类和资源类的服务,不适合直接对普通的客户端提供直接服务器,它的znode的资源不可能提供很多,服务的节点尽量少。
   zookeeper提供的服务的本质
        就是将一个决策的系统独立出来了,由几个专有的节点去完成这个决策,可以说zk的follower就是代表服务器来选举
        这个被代表的服务器的数目有限,不能太多,相当于说将这个决策过程交给了第三方了。
       
                                             
     
阅读(1455) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~