Zookeeper总结
Zookeeper总结
pl在之心
立足当下
展开
-
zookeeper原理与问题总结
1. 内部数据结构 zk的内部数据结构1) zk采用类似Unix的结构,以/为根目录,下面的每个子节点都是一个ZNode,子节点可以存储数据。2) zk节点分为永久节点,临时节点,顺序节点3) zk节点的元数据包含版本,ACL, 时间戳等4) 当客户端超过后,临时节点会自动删除,常用于微服务集群的动态注册和发现2. 如何保证数据一致性 z...原创 2019-08-12 15:49:35 · 150 阅读 · 0 评论 -
zookeeper的leader选举过程
参考:《从paxos到Zookeeper分布式一致性原理与实践》(1)首先设置状态为LOOKING,初始化内部投票Vote (id,zxid) 数据至内存,并将其广播到集群其它节点。节点首次投票都是选举自己作为leader,将自身的服务ID、处理的最近一个事务请求的ZXID(ZXID是从内存数据库里取的,即该节点最近一个完成commit的事务id)及当前状态广播出去。然后进入循环等待及处理...原创 2019-09-03 20:12:42 · 501 阅读 · 0 评论 -
zookeeper的leader选举后的数据同步过程
1. 介绍数据同步是指leader节点将处理的事务广播给follower和observer的过程。该过程采用类似二阶段提交的方式,prepare+commit.2. 同步过程选主算法中的zxid是从内存数据库中取的最新事务id,事务操作是分两阶段的(提出阶段和提交阶段),1) 提交阶段:leader生成提议并广播给followers , follower收到提议后先...原创 2019-09-03 20:21:31 · 1038 阅读 · 0 评论 -
zookeeper的过半策略
背景所谓“过半”是指大于集群机器数量的一半,即大于或等于(n/2+1),此处的“集群机器数量”不包括observer角色节点。ZAB协议中多次用到“过半”设计策略 ,该策略是zk在A(可用性)与C(一致性)间做的取舍,也是zk具有高容错特性的本质。相较分布式事务中的2PC(二阶段提交协议)的“全量通过”,ZAB协议可用性更高(牺牲了部分一致性),能在集群半数以下服务宕机时正常对外提...原创 2019-09-03 20:26:34 · 2232 阅读 · 0 评论 -
zookeeper的数据快照
1. 介绍数据快照:数据快照是zk数据存储中另一个非常核心的运行机制。目的: 快速恢复内存中的数据2. 数据快照配置数据快照用来记录zk服务器上某一时刻的全量内存数据内容,并将其写入到指定的磁盘文件中,可通过dataDir配置文件目录。3. 数据快照生成策略可配置参数snapCount,设置两次快照之间的事务操作个数,zk节...原创 2019-09-03 20:32:59 · 1296 阅读 · 0 评论