Zookeeper官方文档学习笔记

Zookeeper是一个为分布式应用服务的分布式协作服务:

应用程序可以使用它的服务来同步,维护配置,分组和命名

设计目标:
  • 简洁:分布式程序可以通过namespace协作,zookeeper的数据是存在内存中的,所以可以实现高吞吐和低冗余
  • 重复:zookeeper在一组主机(ensemble)上被复制
    这里写图片描述
    这些server彼此知道,Clients连在Server上,并维持一个TCP连接:发送请求、接受回应、查看事件、发送心跳。如果一个server掉线,它的Clients会连接到别的Servers
  • 有序:每个zookeeper stamp更新一个代表所有交易顺序的数字
  • 快速:zookeeper在读取:写入速率 = 10:1时最快
树状结构:

每个节点是一个znode,由路径标识
Znode维护了数据变更的版本号,ACL变化,时间戳
Znode里的数据自动读写,读时会获取到所有的数据,写时会替换所有的数据
临时节点随session创建和销毁

update和watch:

客户端可以watch znodes,当znode改变时watch会被触发和移除

APIs:
  • create:在树中创建一个节点
  • delete:删除一个节点
  • exists:测试一个节点在某地是否存在
  • get data:从一个node获取数据
  • set data:给node写数据
  • get children:获取一个节点的子节点
  • sync:等待数据propagate

这里写图片描述
Replicated Database是一个在内存中并包括整棵树的数据库,更新会写入disk,写入也会在存入内存数据库之前序列化到disk

性能调优:

这里写图片描述
多读少写!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值