当前位置:首页 > 开发 > 编程语言 > 大数据 > 正文

Zookeeper简介

发表于: 2015-05-14   作者:bigSeven   来源:转载   浏览次数:
摘要: Zookeeper简介:   1.什么是Zookeeper?        ZK是一个高效的分布式协调服务,他暴露了一些公用服务,比如命名、配置管理,同步控制,群组服务等,我们可以使用ZK实现比如达成共识,集团管理,leader选举等。   2.设计目标        简单: ZK

Zookeeper简介:

 

1.什么是Zookeeper?

       ZK是一个高效的分布式协调服务,他暴露了一些公用服务,比如命名、配置管理,同步控制,群组服务等,我们可以使用ZK实现比如达成共识,集团管理,leader选举等。
 
2.设计目标
       简单: ZK中的namespace组织结构类似与标准的文件系统,通过这些共享的有层次的namespace来互相协调分布式中的多个进程,这些namespace由Znodes组成,ZK数据被保存在内存中,这也意味着ZK将可以达到较高的吞吐量/较低的延迟。
    ZK的核心目标就是 高性能高可用严格有序的存取
      高性能标志着ZK可以使用在大规模分布式环境中;
      高可用标志着ZK避免单点故障,具有较强的容错能力;
      严格有序意味着客户端可以实现复杂的同步。
     复制:ZK的数据将会在ZK Cluster中的每台机器上协作复制(备份),构成ZK服务的机器必须能够互相感知对方。他们保持了一个内存视图状态,同事伴随着tnxlog和snapshot的持久存储。只要大部分server有效,那么ZK服务也是有效的。客户端只与一个ZKserver 建立连接,client通过建立的TCP连接来进行请求,响应,获取事件,发送心跳等。如果此TCP连接失效,Client将会尝试连接其他的ZKserver.
    全序性:对于每个update请求,ZK都会为生成唯一的zid来表示其事务的顺序,接下来的操作可以使用zid的顺序实现同步原语(队列)。
   高效快速:ZK在“ 读主导”的应用中表现的非常优秀。 ZK应用可以运行在数台机器上,并且在read远大于write的场景中,是非常合适的,通常这个比例为10:1.
 
3.Zookeeper server 组成
    ZK server 根据其身份特性分为三种: leader, follower, Observer,其中 follower和Observer又统称Learner(学习者)。
     leader : 负责客户端的writer类型请求.
     follower: 负责客户端的reader类型请求,参与leader选举等。
     Observer:特殊的“follower”,其可以接受客户端reader请求,但不参与选举。(扩容系统支持能力,提高了读取速度。因为它不接受任何同步的写入请求,只负责与leader同步数据)
 
4.数据模型
        1.每个子目录项如nameservice 都被称为Znode,这个znode是被它所在的路径唯一标识,如Server1这个znode的表识为/nameservice/server1
        2.znode可以有子节点目录,并且每个znode可以存储数据,注意EPHEMERAL类型的目录节点不能有子节点目录,
        3.znode是有版本的,每个znode中存储的数据可以有多个版本,也就是一个访问路径可以存储多份数据
       4.znode可以是临时节点,一旦创建这个znode的客户端与服务器失去联系,这个znode也将自动删除,ZK的客户端和服务器通信使用长连接方式,每个客户端和服务器通过心跳来保持连接,这个连接状态称为sesion,如果znode是临时节点,这个session失效,znode也就删除了
    5.znode的目录名可以自动编号,如App1已经存在,再创建的话,将会自动命名为App2.
    6 .znode 可以被监控,包括这个目录节点中存储的数据修改,子节点目录的变化等,一旦变化可以通过设置监控的客户端,这个是ZK的核心特性,Zk的很多功能都是基于这个特性是实现的。

Zookeeper简介

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

我来说两句
评论内容:
验  证  码:
 
(网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述。)
评论列表
已有 0 条评论(查看更多评论)
编辑推荐
场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮
更多内容请查看zookeeper官网 Zookper: 一种分布式应用的协作服务 Zookper是一种分布式的,开源的,
Zookper: 一种分布式应用的协作服务 Zookper是一种分布式的,开源的,应用于分布式应用的协作服务。
Zookper: 一种分布式应用的协作服务 Zookper是一种分布式的,开源的,应用于分布式应用的协作服务。
Zookper: 一种分布式应用的协作服务 Zookper是一种分布式的,开源的,应用于分布式应用的协作服务。
最近一直在看zookeeper的代码和文章。原因一个是项目越来越依赖zk, 我也要给同事们分享一下zk。 有
场景一 有这样一个场景:系统中有大约100w的用户,每个用户平 均有3个邮箱账号,每隔5分钟,每个邮
更多内容请查看zookeeper官网 Zookper: 一种分布式应用的协作服务 Zookper是一种分布式的,开源的,
二.ZK设计原理简述 1. Zk数据模型和层级namespace: ZK的名称空间非常类似文件系统,名称为一系列的
二.ZK设计原理简述 1. Zk数据模型和层级namespace: ZK的名称空间非常类似文件系统,名称为一系列的
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号