首页 > 其他 > 详细

zookeeper

时间:2016-01-08 20:35:33      阅读:185      评论:0      收藏:0      [点我收藏+]

    说明:分布式应用程序协调服务

    设计:基于层次型的目录树的数据结构,所有节点都叫做znode,可以包含子znode,同时可以包含数据

    功能:配置管理,服务治理

在分布式系统中,通常需要对多个服务器上应用系统的配置信息进行统一管理,zookeeper的配置管理功能就体现在这里。将配置信息保存在zookeeper的某个目录节点中,然后将所有需要修改的应用机器监控配置信息的状态,一旦配置信息发生变化,每台应用机器都会收到zookeeper的通知,然后从zookeeper获取新的配置信息到系统中。

    说明:

        zookeeper可以简单的分为两类:leader(唯一)和follower(多个)。leader和follower是相互通信的,zk的数据都是在内存中的,这就保证了它的访问速度,在磁盘中也会有一个备份。如果leader挂了,zk集群会重新选举,在以毫秒级别的速度选出新的leader,除非有一半以上节点都挂了zk服务才会不可用。

    原理:

    数据读写:

        写:当客户端发来写请求时,会指定zk集群中节点,如果是follower接受请求,会将请求转发给leader,leader通过Zab协议进行原子广播,使所有节点都写入数据(内存同步及磁盘更新),最后zk service将响应回传给client。

        读:由于写数据已经使得数据得到了统一,所有读可以在任意一台zk节点上。但是写的时候并不是保证所有节点完成才响应,而是有一半以上完成,所以在读的时候可以获取的不是最新节点信息,可以通过sync()解决。


        注意:通过zk UI等用户界面管理配置时,需要留意空格,隐藏在行末的空格可能会影响读取



参考:http://cailin.iteye.com/blog/2014486

http://blog.chinaunix.net/uid-13875633-id-4551483.html


本文出自 “塞上名猪” 博客,请务必保留此出处http://zuohao1990.blog.51cto.com/6057850/1732980

zookeeper

原文:http://zuohao1990.blog.51cto.com/6057850/1732980

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!