Zookeeper基础知识点

1.概念

  1. zookeeper是一个类似hdfs的树形文件结构,zookeeper可以用来保证数据在(zk)集群之间的数据的事务性一致。
    • 基于ZAB算法(原子消息广播协议)
    • 保证分布式环境中数据一致性
    • 两个作用:存储数据、监听事件
Zookeeper Service.png

Zookeeper树形文件结构.png
  1. zookeeper有watch事件,是一次性触发的,当watch监视的数据发生变化时,通知设置了该watch的client,即watcher。
  2. zookeeper有三个角色:Learner,Follower,Observer

2.zookeeper应用场景

  1. 统一命名服务(Name Service)
  2. 配置管理(Configuration Management)
    机器的配置列表、运行时的开关配置、数据库配置信息等,具有以下特点:
    • 数据量比较小
    • 数据内容在运行时发生变化
    • 集群中各节点共享信息,配置一致
  3. 集群管理(Group Membership)
    Leader,实现集群容错功能,具有以下特点:
    • 希望知道集群中有多少机器在工作
    • 对集群中每天运行状态进行数据收集
    • 对集群中每个节点进行上下线操作
  4. 共享锁(Locks):分布式锁
  5. 队列管理
  6. 发布/订阅:分布式数据的发布与订阅
  7. 数据库切换:数据库配置

3.特性

3.1可靠性

一旦Zookeeper成功的应用了一个事务,并完成对client的响应,那么Zookeeper内部集群的所有服务器的状态都会是一致的保留下来。

3.2单一视图

由于上面可靠性的保证,使得无论client连接的是ZK集群中的哪个服务器,所看到的数据都是一致的。

3.3顺序一致性

从一个client发起的请求,最终会严格的按照发起的顺序被应用到Zookeeper中去。【实质上,ZK会对每一个client的每一个请求,进行编号,说白了,就是分配一个全局唯一的递增编号,这个编号反映了所有事务操作的先后顺序。】

3.4实时性

通常意义下的实时性是指一旦事务被成功应用,那么client会立刻从服务器端获取到变更后的新数据。ZK仅仅能够保证在一定时间内,client最终一定会能从服务器上获取到最新的数据。

3.5高可用

在ZK集群内部,会有一个Leader,多个Follower。一旦Leader挂掉,那么ZK会通过Paxos算法选举出新的Leader,只要ZK集群内部的服务器有一半以上正常工作,那么ZK就能对外正常提供服务!

3.6简单的数据结构

类似于Linux文件系统的树形结构,简单,实用!(树形层次空间)

3.7高性能

性能有多高呢,举个栗子,比如我们经常通过创建临时节点来处理分布式锁,要知道临时节点是存储在内存中的,在读场景压力测试下,QPS高达10W+!也就是说ZK在读场景下,性能非常突出!

4.zookeeper的Watcher:一次性、客户端串行执行、轻量

4.1一次性

对于ZK的watcher,只需要记住:zookeeper有watch事件,是一次性触发的,当watch监视的数据发生变化时,通知设置了该watch的client,即watcher,由于zookeeper的监控都是 一次性的,所以每次都必须设置监控。

4.2客户端串行执行

客户端Watcher回调的过程是一个串行同步的过程,这为我们保证了顺序,开发人员需要注意,千万不要因为一个Watcher的处理逻辑影响了整个客户端的Watcher回调

4.3轻量

WatchedEvent是zookeeper整个Watcher通知机制的最小通知单元,只包含三个部分:通知状态、事件类型、节点路径。只会告诉客户端发生了事件,不会告知其内容,需要客户端自己去获取,比如NodeDataChanged事件,Zookeeper只会通知客户端指定节点发生了变更,不会直接提供具体的数据内容

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

推荐阅读更多精彩内容