`

zookeeper 基础知识

 
阅读更多

一、ZooKeeper 基础知识

 

1 、zookeeper 环境搭建

有5台Server搭建一个zookeeper集群,这5台机器根据选举算法,选出一个leader节点,这个leader节点与其他4台Server相互通信,是长连接,当这4台Server有改动时,先将改动同步到leader节点,然后再由leader将改动同步到每一个Server。搭建好zookeeper后,就可以与Client连接,除了leader节点,其余的Server都可以与Client保持长连接。但leader挂掉时,zookeeper会重新选出一个leader。

 

2、zookeeper 协同 

zookeeper 维护一个类似文件系统的数据结构,每一个目录称为znode,可以像文件系统一样,增加、删除znode,znode是可以存储数据的。

znode分为下面4种类型

(1)  持久化节点 : 当客户端创建一个持久化节点时,不论客户端是否保持连接,节点都存在

(2)  持久化并顺序编号 : 当多个节点想要创建一个目录时,会自动按顺序进行编号。

(3)  临时节点 :客户端断开连接,节点数据删除

(4)  临时并顺序编号 :客户端断开连接,节点数据删除 ,编号方式与持久化顺利编号相同。

 

3、通知机制

客户端注册监听它关心的目录节点,当目录节点发生变化时,zookeeper会通知客户端。

 

4、zookeeper的作用

1: 发布和订阅 : 将数据发布到zk节点上,让订阅者动态获取数据。

可以做服务器的配置管理,服务器的启动需要数据库和zk相关的信息,服务器通常会配置一些数据库和相关应该的一些信息。可以将配置发布到zk上,当服务器启动时,动态的获取配置。

 

2:发布通知/协调 :

 

3: 分布式锁 : 当所有的节点都尝试创建某一个目录时,只要一个节点可以创建成功。利用这个特性,所有服务器在需要锁的时候,就去创建一个既有的目录,只要创建成功的服务器才能获取锁。

 

4: 集群管理 :当一个应用启动时,会创建一个临时目录,当应用下次时,临时目录也将会移除

 

5: 分布式队列 : 

 

二、 Zookeeper 注册和发现服务

 

1 : 使用Zookeeper来存放服务器列表 

2 : 使用Zookeeper的watch来及时更新服务器信息

3 :  Zookeeper高性能的读,稳定的写

 

 

三、 负载均衡

 

1: Zookeeper 存取服务的多个提供者的信息

2: Zookeeper 的通知机制 + 本地缓存

本地缓存: 当没有接到变化的通知时,就取本地的缓存

3: 应用仅需配置一个Zookeeper的地址

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Zookeeper基础知识、体系结构、数据模型、服务器集群.docx

    Zookeeper基础知识、体系结构、数据模型、服务器集群

    Zookeeper基础知识

    ZooKeeper 是一个为分布式应用所设计的分布的、开源的协调服务。分布式的应用可以建立在同步、配置管理、分组和命名等服务的更高级别的实现的基础之上。

    zookeeper的基础结构知识

    zookeeper的基础介绍,ppt

    zookeeper基础进阶&分布式集群部署

    zookeeper基础进阶&分布式集群部署,xmind文件,包含zk基础知识,linux环境下分布式集群安装部署,以及进阶内容

    淘宝网Zookeeper入门

    介绍ZooKeeper服务的基础知识,并详细了解了数据模型及其属性

    ZooKeeper.pdf

    Zookeeper技术的基础详细学习笔记,总结了Zookeeper的各个知识点,可以用来复习以及对基础知识的巩固,对新人的学习很有帮助。

    ZooKeeper-分布式过程协同技术详解.pdf

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    ZooKeeper-分布式过程协同技术详解

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    ZooKeeper:分布式过程协同技术详解

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    大数据框架思维导图(Hadoop,Hbase, Zookeeper选举 非zookeeper知识点)

    该资源内有三个xmind脑图文件,分别为Hadoop,hbase ,以及分布式协调zookeeper选举的基础知识内容。该脑图内容并不是非常详细,而是大体罗列了这三个技术的框架,适合初学者以及将要面试,复习的同学。通过脑图,...

    ZooKeeper-分布式过程协同技术详解 pdf

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    ZooKeeper-分布式过程协同技术详解 PDF 高清完整版

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    zookeeper的相关介绍

    ※ zk基础知识介绍 ※ zk数据模型介绍 ※ zk数据模型中znode的介绍 ※ zk数据监听 ※ zk的acl ※ zk单节点基本操作 ※ zk集群操作 ※ zk的java客户端操作

    HadoopHA集群部署、ZooKeeper安装与配置教学课件.pptx

    基础环境配置;任务一 上传安装包到第1个Zookeeper节点并解压;任务二 编辑Zookeeper配置文件;任务三 创建zkdata和zkdatalog文件夹;任务四 设置Zookeeper节点对应的ID(myid);任务五 配置Zookeeper环境变量;任务六 ...

    ZooKeeper-分布式过程协同技术详解(文字完整版)

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

    ZooKeeper-分布式过程协同技术详解(附code)

    第7章介绍C语言版的API接口,也可以作为非Java语言实现的ZooKeeperAPI的基础,对非Java语言的开发人员非常有帮助。第8章介绍一款更高层级的封装的ZooKeeper接口。第三部分(第9~10章)主要介绍ZooKeeper内部原理及...

Global site tag (gtag.js) - Google Analytics