zookeeper的一些基本概念

核心:

文件系统(目录树)/通知机制(观察者模式)

集群
SID

服务器标识和myId一致

ZXID

事务ID,用来标识一次服务器状态的变更

EPOCH

每个leader任期内的代号

写入数据
  • leader收到请求
  1. leader自己写入
  2. leader向follower中写入,follower写完后发送ack
  3. 超过半数的节点写完成后就leader就向client响应,然后接着写入其他follower
  • follower收到请求
  1. 向leader转发write请求
  2. 同leader①②
  3. 超过半数节点写入完成后leader就向转发请求的follower发送ack,然后由该节点响应client,然后leader接着写入剩余节点
分布式锁

利用临时顺序节点的特性

  1. 需要获取锁的client会在zk中创建一个临时顺序节点
  2. 判断当前节点序号是否是当前最小的序号
  3. 是最小序号则获得锁,否则利用 【get -w】命令监听上前一个节点的变化直到当前节点的序号成为最小则获得锁
  4. client 在执行完相关逻辑后主动删除创建的节点(发生异常时也会删除因为创建的的是临时节点),此时zk会通知后一个节点获取到锁(击鼓传花)
选举机制
第一次启动时
  1. 启动前需要为每个节点但指定myid且不重复
  2. 节点启动时会先投自己一票,然后和其他节点交换选票,当节点收到其他节点的选票且当前节点的myId更大则票数增加,否则票数不变
  3. 当节点收到的选票大于半数节点是就被选为leader节点
  4. leader节点一旦确定就不会改变(启动时),后续节点在启动时会直接成为follower
leader挂掉时
  1. EPOCH大的直接胜出(避免此前失联的节点被选举)
  2. EPOCH相同,ZXID大的胜出(保证当前被选举的节点中数据是最新的)
  3. ZXID相同,SID大的胜出
节点类型
持久节点(断开连接后节点不删除)
  • 持久化目录节点

客户端断开连接后节点依然存在

  • 持久化顺序编号目录节点

创建节点后给节点名称后顺序编号(单调递增由父节点维护), 分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。

临时节点(断开连接后创建的节点自己删除)
  • 临时目录节点

断开时节点自动删除

  • 临时顺序编号目录节点

节点名称后会进行顺序编号

监听器

监听对应路径上节点数据的变化、节点数量的变化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容