ZooKeeper 特性记录

Watcher 通知次数

Watcher 只会通知一次,并且没有重试机制以及事务回滚。
意味着Watcher 只关心“通知"这个动作,而不关心客户端是否处理成功。
如果想继续获取事件通知,例如节点变更通知
那么在getData 时需要将watch 参数设置为true

Zookeeper 中心化架构

同一时刻只有一个节点可以处理写操作,就是Leader。
所以在ZooKeeper集群里,总有一个Leader被选举。

ZooKeeper 节点类型

Leader - 被选举出来的节点,主要处理写操作,及同步数据到各个子Follower节点
Follower - 子节点,主要提供读操作,并在Leader挂掉时参与选举(Election)
Observer - 观察者节点, 除了不能参与选举以外,跟Follower功能一样,
??主要用于扩展节点时(新增节点时会重新选举,需要使用一段时间),提供不间断的读操作??。

ZooKeeper 数据节点类型

分 持久化ZNode 和 临时ZNode 两大类
每个类型的ZNode 又分顺序ZNode 和 非顺序ZNode
即系以下四种:
a. 持久化ZNode
b. 持久化顺序ZNode
c. 临时ZNode
d. 临时顺序ZNode

临时节点会在session会话断开时销毁

zoo.cfg配置

  1. tickTime (默认:2000毫秒)
    表示 一个时间单位,即系后续其他配置项所配置的时间的基数。

  2. initLimit(默认:10)
    表示一个节点重新加入到群集后,同步数据所花的时间,
    该时间的值的计算为initLimit * tickTime, 例如 10*2000 = 20000;

  3. syncLimit(默认:5)
    表示节点之间的心跳时间,
    该时间的值的计算为 syncLimit * tickTime,例如 5 * 2000=10000;

新增ZooKeeper节点(不是数据ZNode)后的操作

  1. 同步数据
    如果数据同步失败,则该节点加入群集失败,不会标记成正常节点。
    同步数据所需要的时间为zoo.cfg配置里的 initLimit * tickTime。

  2. 重新选举??(还没确认这个事实)
    重新参与选举。

写入数据特性

当发起写入数据操作时,Leader会将数据同步到一半以上的节点之后就返回操作结果。

乐观锁性质

ZooKeeper的ZNode节点数据都包含一个dataVersion,这个dataVersion 可以在执行setData时指定一个修改前获取的dataVersion作为version参数,来尝试是否设置成功,跟数据乐观锁的概念是一样的。

Zookeeper 四字命令

通过TCP发送四个字母的命令到Zookeeper端口可以查看一些相关信息。
发送TCP包命令如下:

echo 'conf' | nc localhost 2181

conf
输出相关服务配置的详细信息。

cons
列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。

dump
列出未经处理的会话和临时节点。

envi
输出关于服务环境的详细信息(区别于 conf命令)。

reqs

列出未经处理的请求

ruok
测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。

stat
输出关于性能和连接的客户端的列表。

wchs
列出服务器 watch的详细信息。

wchc
通过 session列出服务器 watch的详细信息,它的输出是一个与watch相关的会话的列表。

wchp
通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径。

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

推荐阅读更多精彩内容