学习Zookeeper需要了解的专业名词
一、Zookeeper的集群角色
Leader:该角色是整个zookeeper集群工作机制中的核心
Follower:该角色是zookeeper集群状态的跟随者
Observer:在集群中充当观察者的角色
(这三类角色的具体使用会在后面的博客中详细介绍)
二、会话
会话是指客户端与zookeeper服务器的连接,zookeeper中的会话叫session,客户端靠与服务器建立一个TCP长连接来维持一个session,通过这个连接,客户端能够与zookeeper服务器保持有效的通话,也能向zookeeper集群发起请求并得到响应。
三、数据节点
zookeeper主要有两种节点
(1)集群中的一台机器称为一个节点
(2)数据模型中的数据单元Znode,分为持久节点和临时节点。zookeeper的数据模型就是一棵树,树的节点是Znode,Znode中可以保存信息(和文件系统的目录树一样,ZooKeeper树中的每个节点可以拥有子节点)

四、版本
zookeeper对于版本的概念主要有以下三种:

悲观锁:悲观锁又叫悲观并发锁,是数据库中一种非常严格的锁策略,具有强烈的排他性,能够避免不同事务对同一数据并发更新造成的数据不一致性,在上一个事务对数据的操作没有完成之前,下一个事务不能访问相同的资源。悲观锁适合数据更新竞争非常激烈的场景。
乐观锁:相比悲观锁,乐观锁应用的场景更加广泛。悲观锁简单的认为两个事务访问同一笔数据的时候一定会互相干扰,所以粗暴的采用了强烈排他的形式来控制并发操作。而乐观锁认为多个事务访问相同资源的场景是很少见的,不必在事务操作期间进行严格的并发控制。但是乐观锁也是一种锁,也是一种机制,肯定会有对并发的其他处理方式,那这个方式是怎样的呢?对于数据库来说,通常的做法是在每个表中增加一个version字段,事务修改数据前首先读出数据,当然也会把版本号读出来,然后把这个读出来的version字段的值,加入到更新语句的where条件中。比如:读出来的version值为1,则可以将更新语句这样写,update 表名 set 字段=xxx where id = 1 and version = 1,如果更新失败了说明其他事务已经对该资源做了修改,那么系统需要抛出异常给客户端,客户端通过一定的机制进行重试处理。
五、watcher
watcher(事件监听器):zookeeper允许用户在指定的节点上去注册事件监听器watcher,在服务端数据节点发生变化时,zookeeper会把该变化通知给感兴趣的客户端(即订阅了该服务端节点的客户端)
六、ACL权限控制
ACL(Access Control Lists):zookeeper集群中支持各种类型的权限控制,主要有以下几种:

学习Zookeeper需要了解的专业名词的更多相关文章
- javascript各种专业名词
刚开始学javascript经常看到各种专业名词,在此整理一下个人的学习笔记: 直接量 直接量——就是程序中直接使用的数据值,如:88 //数字(String)"hello world ...
- Android开发专业名词及工具概述
前言: 系统的学习下Android开发中涉及到的一些专业名词 和Android开发工具 名词: 一.SDK(Software Development Kit) 软件开发工具包:一般都是一些软件工程师为 ...
- [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文
综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...
- 学习 zookeeper
1.zookeeper是什么 zookeeper是hadoop的分布式协调服务.主要作用是对hadoop的集群节点进行监控.但是由于其功能的单一而去不依赖hadoop其他框架,所以不局限在hadoop ...
- 一脸懵逼学习Zookeeper(动物园管理员)---》高度可靠的分布式协调服务
1:Zookeeper是一个分布式协调服务:就是为用户的分布式应用程序提供协调服务 A.zookeeper是为别的分布式程序服务的 B.Zookeeper本身就是一个分布式程序(只要有半数以上节点存活 ...
- zookeeper 学习 zookeeper下载部署
下载 http://mirror.bit.edu.cn/apache/zookeeper/ 校验 解压后得到zookeeper-3.4.10.jar,使用md5sum zookeeper-3.4.10 ...
- 【转】Zookeeper学习---zookeeper 选举机制介绍
[原文]https://www.toutiao.com/i6593162565872779784/ zookeeper集群 配置多个实例共同构成一个集群对外提供服务以达到水平扩展的目的,每个服务器上的 ...
- 学习Zookeeper之第3章Zookeeper内部原理
第 3 章 Zookeeper 内部原理 3.1 选举机制 3.2 节点类型 3.3 stat 结构体 3.4 监听器原理 1)监听原理详解 2)常见的监听 3.5 写数据流程 第 3 章 Z ...
- 学习Zookeeper之第2章Zookeeper安装
第 2 章 Zookeeper安装 2.1 本地模式安装部署 2.2 配置参数解读 第 2 章 Zookeeper安装 2.1 本地模式安装部署 1)安装前准备: (1)安装 jdk (2)通过 fi ...
随机推荐
- html5shiv.js分析-读源码之javascript系列
xiaolingzi 发表于 2012-05-31 23:42:29 首先,我们先了解一下html5shiv.js是什么. html5shiv.js是一套实现让ie低版本等浏览器支持html5标签的解 ...
- Win10下安装MySQL总卡在write configuration的解决办法
先说结论 删除 C:\ProgramData 下的MySQL文件夹!!! 折腾过程 反复安装卸载,安装版.绿色版,都不行,清理注册表,清理安装文件夹,还是不行!!! 最后找到并删除 C:\Prog ...
- boost 互斥体和锁
1.共享资源是一个自动锁住的房间,互斥体是钥匙,进入房间必须取钥匙,离开房间应该还钥匙.这就对应着互斥体的lock(取钥匙)和unlock(还钥匙). 2.考虑下面的场景:还钥匙的时候出现异常,会发生 ...
- MyBatis是支持普通 SQL查询
MyBatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置 ...
- 判断asp.net中session过期方法的比较
重写继承page的OnInit()虚方法,在需要的界面上,继承这个类. 1.新建继承page类的类JudgeSession,实现接口成员. 2.重写OnInit()方法,判断session情况. 3. ...
- RMI几种公布和引用服务的方式
RMI是Java原生的分布式服务机制.支持Java对Java的分布式訪问.採用Java的序列化协议进行CodeC操作. 这里简单说下RMI公布服务和client引用服务的方式. RMI公布服务时支持两 ...
- C static 关键字理解
今天来看一下这么一个程序. #include<stdio.h> int count =1; int fun(void) { static int count =10; return cou ...
- ProcessBuilder执行本地命令
/**关键技术剖析 * 用本命令名和命令的参数选项构造ProcessBuilder对象,它的start方法执行命令,启动一个进程,返回一个Process对象 * ProcessBuilder的envi ...
- 第九篇:使用 AdaBoost 元算法提高分类器性能
前言 有人认为 AdaBoost 是最好的监督学习的方式. 某种程度上因为它是元算法,也就是说它会是几种分类器的组合.这就好比对于一个问题能够咨询多个 "专家" 的意见了. 组合的 ...
- Cocos2d-x学习之 整体框架描述
1.Cocos2d-x 整体描述 和传统的游戏引擎一样,cocos2d-x作为一个2d的游戏引擎,其也有以下几大概念组成: 导演(CCDiretor): 在cocos2d-x引擎中,CCDirecto ...