IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Zookeeper技术内幕 -> 正文阅读

[大数据]Zookeeper技术内幕

1.在Zookeeper中,每一个数据节点都称为一个ZNode,所有的ZNode按层次化结构进行组织,形成一棵树。?
2.Zookeeper中的事务:指能够改变服务器状态的操作,比如节点的创建、删除等。每一个事务请求都会有?
一个全局唯一的事务ID。
3.节点特性:?
节点类型(节点的生命周期):持久节点、临时节点、顺序节点。
状态信息:包含事务ID、创建时间、版本号等信息。
版本:记录节点的修改次数,用来保证分布式数据的原子性操作(悲观锁:一个事务对数据进行处理时,在整个过程
都将数据锁定,其它事务无法对这个数据进行更新,直到这个事务完成;乐观锁:假定多个事务在处理过程中不会彼此影响,所以
在大部分时间不需要加锁)
4.Watcher:客户端向服务端注册一个Watcher,当服务端指定事件触发时,就会向指定的客户端发送一个事件通知。?
Watcher接口、WatchedEvent、回调方法等等。
5.ACL:“schema:id:permission”?
schema权限模式:
IP:通过IP地址粒度进行权限控制。
Digest:类似于“username:password”形式。
World:对所有用户开放。
Super:对超级用户开放。
授权对象ID:指权限赋予的用户或一个指定实体。
权限Permission:CREATE(创建权限)、DELETE(删除权限)、READ(读取权限)、WRITE(更新权限)、ADMIN(管理权限)。
6.序列化:使用Jute实现序列化和反序列化。?
7.通信协议:Zookeeper基于TCP/IP协议,实现了自己的通信协议来完成客户端与服务器、服务器与服务器之间的网络通信。?
对于请求主要包括请求头和请求体,对于响应,主要包含响应头和响应体。
8.解析服务器地址:将多个服务器地址打散后,装入一个循环队列中,然后再遍历选取。?
9.ClientCnxn网络IO:负责维护客户端与服务端之间的网络连接并进行一系列的网络通信。?
10.会话:在Zookeeper客户端和服务端成功完成连接创建后,就建立了一个会话,在运行期间会在不同的回话状态?
之间进行切换。会话状态有CONNECTING、CONNECTED、CLOSE等等。
会经历会话创建,会话检查,会话删除等。
11.Leader选举:?
服务器启动时期的选举:(1)每个Server发出一个投票(以(myid,ZXID)表示,myid表示要投的服务器,初始时都会投给自己);
(2)接收来自各服务器的投票(判断投票的有效性);(3)处理投票(将别人的投票和自己的投票PK,先比较ZXID,若相同再比较myid,
比较大的作为Leader);(4)统计投票(每次投票后,统计是否有过半的机器接收到相同的投票信息);(5)改变服务器状态
(选出Leader后,就更改状态,FOLLOWING、LEADING)
服务器运行期间的选举:在运行时候,当Leader所在的机器挂掉时,就会进行新一轮的Leader选举,先把其余服务器状体变为LOOKING
其余选举过程和启动时选举一致。
服务器状态:LOOKING(寻找Leader状态)、FOLLOWING(跟随者状态)、LEADING(领导者状态)、OBSERVING(观察者状态)。
12.服务器中的角色:?
Leader:事务请求的唯一调度和处理者,保证集群事务处理的顺序性;集群内部各服务器的调度者。
Follower:处理客户端非事务请求,转发事务请求给Leader服务器;参数事务请求Proposal投票;参与Leader选举投票。
Observer:和Follower基本是一致的,只是不参与任何形式的投票。
13.集群间消息通信:?
分为数据同步型、服务器初始化型、请求处理型和会话管理型。
14.Proposal流程:每一个事务请求都需要集群中过半机器投票认可才能被应用到Zookeeper的内存数据库中去。?
包括(1)发起事务投票;(2)生成提议Proposal;(3)广播提议;(4)收集投票;(5)将请求放入toBeApplied队列;(6)广播COMMIT消息
15.数据与存储:分为内存数据存储和磁盘数据存储。?
内存数据:DataTree(是一颗树结构,代表一份完整的数据),DataNode(数据存储的最小单元),
ZKDatabase是Zookeeper的内存数据库,负责管理Zookeeper的所有会话、DataTree存储和事务日志。
数据快照:用来记录Zookeeper服务器上某一个时刻的全量内存数据内容,并将其写入到指定的磁盘文件中。
数据同步:将没有在Leader服务器上提交过的事务请求同步给Leader服务器。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:59:55  更:2021-10-24 15:00:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:45:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码