美文网首页
zookeeper 入门(一)

zookeeper 入门(一)

作者: 阿飞0202 | 来源:发表于2019-07-17 16:41 被阅读0次

zookeeper的简介:Apache ZooKeeper是一种开源的,用于分布式应用程序的高性能的协调服务。提供一种集中式信息存储服务;数据存在内存中,类似文件系统的树形结构(文件和目录),高吞吐量和低延迟,集群高可靠;基于zookeeper可以实现分布式统一配置中心、服务注册中心,分布式锁等功能的实现;

一、zookeeper的安装:

1、1.6以上JDK(本机是1.8)

2、下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

3、解压后的conf目录下,增加配置文件zoo.cfg

tickTime : 一次心跳的时间;

dataDir:日志存放位置

clientPort:客户端的端口号

4、启动服务器:bin/zkServer.sh start

5、测试一下,客户端连接: bin/zkCli.sh -server 127.0.0.1:2181

二、zookeeper的特点

1、安装简单

2、数据结构简单 

    类似于文件夹的树形结构,每个目录成为Znode节点,特点在于每一个目录既可以作为父级目录,又可以作为文件存放数据

数据模型

 3、操作指令简单

    基本操作指令(增删改查)

    ls:  获取子节点

    create: 在zookeeper中的某个位置创建一个节点

    delete:删除节点

    exists:测试节点是否存在

    get data:从指定节点读取数据

    set data:将数据存入指定节点

    get children:查询指定节点之下所有的子节点    

    sync:等待数据进行同步

    help:获取所有指令

例如下图:

4、有序

    Zxid:在zookeeper中,每次操作都会有一个对应的zxid,类似于主键id自增

    Version numbers:版本号,上文图片已提到,每次更改版本号中的一个会增加(dataVersion,cversion,aclVersion)

5、可复制,可以快速的搭建集群,保证了服务的可靠性

6、快速,从内存中读取数据,可以获得高吞吐量和低延迟数,适用于以读为主的场景,Znode的数据大小限制1M,可用于大型分布式系统

三、zookeeper 的功能

1、会话机制

1)一个客户端连接一个会话,由zk分配唯一会话id;

2)客户端以特定的时间间隔发送心跳以保持会话有效; tickTime(存在于配置文件zoo.cfg)

3)超过会话超时时间未收到客户端的心跳,则判定客户端死了;(默认2倍tickTime)

4)会话中的请求按FIFO(先进先出)顺序执行。

2、数据构成

1)节点数据:储存的协调数据

2)节点元数据(stat结构)

3)数据大小上限:1M

3、节点类型

持久节点、临时节点(create -e /文件名 内容)、顺序节点(create -s /文件名 内容)、临时顺序节点(create  -e -s /文件名 内容)

4、Watch监听机制

功能:监听znode的变化

分类:分为 data watch(数据变更getData()、exists())child watch(子节点变化getChildren())

触发watch的事件:创建(create event):exists ;删除(deleted event):getData()、exists()、getChildren();

                                修改(changed event) exists、getChildren();子节点(child event) :getChildren();

特点:一次性触发后被删除,需要持续甚至watch;客户端先得到watch通知后,才会看到变化结果

四、zookeeper 的特性

1、顺序一致性(Sequential Consistency),保证客户端操作是按顺序生效的;

2、原子性(Atomicity),更新成功或失败。没有部分结果。 

3、单个系统映像,无论连接到哪个服务器,客户端都将看到相同的内容

4、可靠性,数据的变更不会丢失,除非被客户端覆盖修改。

5、及时性,保证系统的客户端当时读取到的数据是最新的。


本文是作者通过视频学习后作为笔记记录,如有雷同还请见谅,本人职场菜鸟,刚入门学习,欢迎大佬们指点批评,一起学习一起进步

相关文章

网友评论

      本文标题:zookeeper 入门(一)

      本文链接:https://www.haomeiwen.com/subject/otkxlctx.html