学习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 ...
随机推荐
- qtcreator 中文乱码
qt输入法不能用,ui中不能显示中文,开发板不能显示中文,这几个一直困扰这我,网上查找资料,在代码中添加各种支持,都没有解决问题.今天刚好解决了,记录于此. 参考链接 http://blog.163. ...
- USACO4.2.1 网络流最大流算法
/* ID:hk945801 TASK:ditch LANG:C++ */ #include<iostream> #include<cstdio> #include<cs ...
- linux CentOS安装telnet
1.检查linux版本号 cat /etc/issue 2.检查是否已经安装telnet rpm -qa | grep telnet 上面的显示是已经安装.就不须要再安装了,假设没有,接着下一步吧. ...
- STL 源代码剖析 算法 stl_algo.h -- inplace_merge
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie inplace_merge(应用于有序区间) ----------------------- ...
- ios开发之 -- 单例类
单例模式是一种软件设计模式,再它的核心结构中指包含一个被称为单例类的特殊类. 通过单例模式可以保证系统中一个类只有一个势力而且该势力易于外界访问,从而方便对势力个数的控制并节约系统资源.如果希望在系统 ...
- m2014_c:C 工具库1:list
转自:http://www.cnblogs.com/sniperHW/archive/2012/04/02/2429607.html 近来考虑将项目基础框架的开发语言从C++换成C,免不了要编写一大堆 ...
- 递归删除资源树 Ztree
前言 最近项目里有这么一个需求:现在有一个用Ztree编写的资源树,当删除资源树的某个节点时,则将此节点下面的所有节点全部删除,这里显然就用到了递归:若此节点被删除后无其它的兄弟节点了,我们还需要将其 ...
- c++11 类型推断
自动类型推断 当编译器能够在一个变量的声明时候就推断出它的类型,那么你就能够用auto关键字来作为他们的类型: auto x = 1; 编译器当然知道x是integer类型的.所以你就不用int了.接 ...
- Django学习笔记第七篇--实战练习三--关于更有层级的url请求、404错误以及其他响应函数
一.关于更有层级的URL: 可以实现每一个APP一个子URL目录,例如app1的所有操作都在http://www.localhost1.com:5443/app1/xxxx 在工程主文件夹下的工程同名 ...
- Jquery 中的 event、event.target 和原生JS的 event、event.target 对比
先看下原生的 event,如图: 再看下 Jquery 中的 event,如图: 明显不一样,也符合常理,比较结果: 那么如何把 Jquery 中的 event 转成原生的呢? event.orig ...