三、Zookeeper简介
一、简介
zookeeper 主要使用场景:分布式系统的分布式协同服务。协同工作就是通过某种方式,让着节点的信息能够同步和共享,依赖于进程间的通信。通信方式有俩种.
通过网络进行信息共享
现实工作中,leader在会议上会吧任务分配下去,组员通过leader的命令或者邮件知道自己要干什么。当有任务变化时,leader会单独告诉组员,或者再次召开会议。信息通过人与人的沟通直接完成传递。
通过共享存储
现实中leader.吧项目上传到svn,组员拉取代码,然后干活。其中svn就是共享存储。

二、Zookeeper如何解决分布式系统面临的问题
通过共享存储
通过zookeeper实现分布式系统的协调,共享存储。zookeeper就像是svn,存储了任务分配、完成情况等共享信息。每个分布式节点订阅这些共享信息当主节点(组leader),对某个从节点分工信息做出改变时,相关订阅从节点会得到zookeeper的通知,获取最新的任务分配。完成工作后,把完成情况,存储到zookeeper.主节点订阅了完成情况,所以将会得到zookeeper的完工通知。把上图中的svn 和邮件信息合二为一,zookeeper代替。

三、基本概念
Zookeeper是分布式系统的分布式协同服务,也是一个典型的分布式一致性解决方案。基于他可以实现数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁、和分布式队列等功能。
1、集群角色
通常在分布式系统中,构成集群的每一台机器都有自己的角色。最典型的就是Master/Slave模式(主备模式),
在zookeeper中没有沿用传统的主备模式。引入Leader、Follower、Observer三种角色。Zookeeper集群中的所有机器都通过Leader选举一台被称为Leader的机器,Leader服务器对外提供读写服务。Follower、Observer也可以对外提供读写服务,唯一的区别就是Observer不参与Leader选举的过程、不参与与写操作的过半写成功策略。因此Observer在不影响性能的情况下提升集群性能。
zookeeper 的写流程:

2、会话(Session)
session 指的是客户端会话,Zookeeper对外默认端口是2181,客户端启动的与服务器建立TCP连接,从第一次连接建立开始,客户端的生命周期也就开始了,通过心跳检测机制与服务器保持有效会话,也向Zookeeper服务器,发送请求并接受响应,同时还可以接受来着服务器Watcher的事件通知。
3、数据节点(Znode)
“节点”,在分布式系统中,指的是组成集群的每一台机器.在Zookeeper中集群节点分为俩类:
机器节点
集群的机器
数据节点(Znode)
Zookeeper将所有数据存储在内存中,数据模型是是一颗(Znode Tree),由 /进行分隔的路径,就是一个Znode ,例如:/app/p_1.每个Znode 都会存储自己的数据内容,和一系列属性信息

4、版本
Zookeeper 每个Znode 都会存储自己的数据内容,和一系列属性信息。对于Znode Zookeeper 会为其维护一个叫做Start的数据结构,Start记录了Znode 的三个数据库版本,分别是 version(当前Znode 版本)、cversion(Znode 子节点版本)、aversion(当前Znode ACL版本)
5、Watcher事件监听器
Wather(事件监听器),是 Zookeeper中一个很重要的特性, Zookeeper允许用户在指定节点上注册 一些 Watcher,并且在一些特定事件触发的时候,Zookeeper服务罐会将事件通知到感兴趣的客户端 该机制是 Zookeeper实现分布式协调服务的重要特性
6、ACL
Zookeeper采用ACL( Access Control Lists)策略来进行权限控制,其定义了如下五种权限 CREATE:创建子节点的权限 READ:获取节点数据和子节点列表的权限 WRTE:更新节点数据的权限 DELETE:制除子节点的权限 ADMN:设置节点ACL的权限 其中需要注意的是, CREATE和 DELETE这两种权限都是针对子节点的权限控制
三、Zookeeper简介的更多相关文章
- Zookeeper简介与安装
Zookeeper:A Distributed Coordination Service for Distributed Applications. 一.Zookeeper简介 众所周知,协同服务是分 ...
- Zookeeper简介与集群搭建
Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...
- Zookeeper简介与集群搭建【转】
Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...
- Zookeeper简介及使用
一.Zookeeper简介 1.zookeeper简介 动物管理员 Apache ZooKeeper致力于开发和维护开源服务器,实现高度可靠的分布式协调. 2.什么是ZooKeeper? ZooKee ...
- ZooKeeper学习之路(一)—— ZooKeeper简介及核心概念
一.Zookeeper简介 Zookeeper是一个开源的分布式协调服务,目前由Apache进行维护.Zookeeper可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调/通知. ...
- ZooKeeper系列(一)—— ZooKeeper 简介及核心概念
一.Zookeeper简介 Zookeeper 是一个开源的分布式协调服务,目前由 Apache 进行维护.Zookeeper 可以用于实现分布式系统中常见的发布/订阅.负载均衡.命令服务.分布式协调 ...
- ZooKeeper简介
本文中,我们将对ZooKeeper进行介绍.简单地说,ZooKeeper是一个用来在构成应用的各个子服务之间进行协调的一个服务. 由于其本身并没有特别复杂的机制,因此我们将会把更多的笔墨集中在如何对Z ...
- Mybatis sql映射文件浅析 Mybatis简介(三) 简介
Mybatis sql映射文件浅析 Mybatis简介(三) 简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML ...
- Zookeeper简介及单机、集群模式搭建
1.zookeeper简介 一个开源的分布式的,为分布式应用提供协调服务的apache项目. 提供一个简单的原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务. 设计非常易于编程,它使用的是 ...
- Zookeeper简介及安装(一)
1 Zookeeper入门1.1 概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.2 特点 1.3 数据结构 1.4 应用场景提供的服务包括:统一命名服务 ...
随机推荐
- Android 架构组件-Lifecycle、LiveData、ViewModel
Lifecycle Lifecycle组件包括LifecycleOwner.LifecleObserver,能方便监听Activity或者Fragment的生命周期. 步骤: 1.实现Lifecycl ...
- DOS基本命令(Windows下的基本命令部分)
一.cls(clear screen的简写) 命令作用:清屏屏幕 详细介绍:屏幕显示的所有字符信息都是存放在一个屏幕缓冲区中,cls命令的作用是清除屏幕上的文字,并将该缓冲区清空. 二.dir(dir ...
- [LeetCode题解]142. 环形链表 II | 快慢指针
解题思路 本题是在141. 环形链表基础上的拓展,如果存在环,要找出环的入口. 如何判断是否存在环,我们知道通过快慢指针,如果相遇就表示有环.那么如何找到入口呢? 如下图所示的链表: 当 fast 与 ...
- java中对于浮点型数据操作
java的基本数据类型-浮点型:单精度(float)和双精度(double). float:单精度浮点数在机内占4个字节.有效数字8位.表示范围:-3.40E+38 ~ +3.40E+38; doub ...
- 如何在Vegas中安装激活Continuum插件
视频剪辑插件Boris FX Continuum安装程序包含了多达250种插件.而视频剪辑软件Vegas Pro 18 Suite中提供了Boris FX Continuum Film Style U ...
- 在IDM上设置防止过度抓取网站信息
在使用Internet Download Manager(IDM)下载器时,有时会发现IDM自带的抓取功能过于强大,以至于有时会抓取一些无效的链接.那么,该如何避免IDM的过度抓取呢? 图1:IDM的 ...
- 吉他软件Guitar Pro入门
Guitar Pro是一款优秀的吉他学习软件,初学者可以依靠其学习理论知识,也可以通过和弦添加.曲谱导出等功能来提升弹奏能力.今天,小编就给大家简略地介绍下吉他软件Guitar Pro. 乐谱编辑功能 ...
- 攻克solo第七课(Randy Rhoads风格)
本期文章,笔者将通过Guitar Pro 7吉他软件跟大家分享一下Randy Rhoads的solo句子. 相信很多精研电吉他的朋友都会听过这个一手把Ozzy Osbourne从离开黑色安息日乐队的深 ...
- Mac读写ntfs软件究竟哪一款适合我们?
生活中我们免不了会使用一些硬盘设备来存储文件或者是数据,然而绝大多数的移动硬盘都是ntfs格式.Mac读写ntfs软件有很多,究竟哪一款适合我们? 首先,我们一起了解一下什么是ntfs格式.ntfs, ...
- 《图解TCP/IP》第四章
<图解TCP/IP>第四章 4.1 IP 即网际协议 4.1.1 IP(IPv4.IPv6)相当于OSI参考模型中的第3层-网络层 4.1.2 数据链路层和网络层的关系: 数据链路层的主要 ...