今天开始我们将继续深入 ZK 选举相关的知识 一、选举的基本规则 ZKr~这次我决定一反常态,先不讲故事了~先得聊聊在 ZK 选举中非常重要的一些东西。 1.1 zxid zxid 就是我们之前提到的事务编号,是一个 8 字节的整型数字,但是 ZK 设计的时候把这一个数字拆成了两部分使用,一鱼两吃! 8 个字节的整数一共有 64 位长度,前 32 位用来记录 epoch,后 32 位就是用来计数。你可能要问了? epoch?是啥? zxid 初始化是 0,也就是这样 000000000000000000000000…

2021年3月18日 0条评论 609点热度 0人点赞 李锋镝 阅读全文

一、优秀员工小S(Sync) 我们通过之前的文章有介绍过,小S(Sync) 负责对办事处的数据进行归档,所以今天他就是我们的主角,让我们一起深入了解他的日常工作吧 为了唤醒大家的远古记忆,我放一张之前的图片 今天我们会重点讲一下图中的蓝色部分,不过在此之前还是得先从整体架构上介绍下 ZK 的数据管理,ZK 的数据大致是分为了两部分,一个是内存,一个就是磁盘文件。 1.1 内存 虽然今天我们的主角是磁盘文件,但是内存还是稍微再提一下下,帮助大家记忆的同时也能有一个比较全面的视角去认知 ZK 整体的数据管理。 ZK 在…

2021年3月18日 0条评论 597点热度 0人点赞 李锋镝 阅读全文

如何用Zookeeper实现分布式锁? 在学习分布式锁之前,需要首先了解一下Zookeeper的[临时顺序节点]。 什么是临时顺序节点? 让我们来回顾一下Zookeeper节点的概念: Zookeeper的数据存储结构就像一棵树,这棵树由节点组成,这种节点叫做Znode。 Znode分为四种类型: 1.持久节点 (PERSISTENT) 默认的节点类型。创建节点的客户端与zookeeper断开连接后,该节点依旧存在 。 2.持久节点顺序节点(PERSISTENT_SEQUENTIAL) 所谓顺序节点,就是在创建节点…

2019年11月11日 0条评论 609点热度 0人点赞 李锋镝 阅读全文