zookeeper 学习

参考文章

zookeeper的数据模型

一种分布式协调服务
在这里插入图片描述
树是有节点组成,zookeeper的数据存储也是基于节点,这些节点叫做znode

Znode

znode的引用方式是路径引用,类似于文件路径
Znode包含了数据,子节点引用,访问权限等
在这里插入图片描述
data Znode存储的数据
ACL Znode的访问权限
stat Znode的各种元数据,如事务ID,版本号,时间戳,大小等
child 当前节点的子节点引用,类似二叉树的左右孩子
zookeeper适用于读多写少的场景,Znode并不用于存储大量数据,而是少量的状态和配置信息。

Zookeeper的基本操作和事件通知

create 创建节点
delete 删除节点
exists 判断节点存在
getData 获取节点数据
setData 设置节点数据
getChildren 获取节点下所有子节点
watch操作-----节点数据等发生变化的时候,会收到异步通知。

zookeeper集群

在这里插入图片描述

ZAB协议

zab崩溃恢复

  • leader election 选举
  • discovery 寻找最新事务
  • Synchronization 同步
    zab写入数据
  • follower=>leader=> other follower 单调一致性
    一致性

zookeeper适用场景

  • 分布式锁=>同一时间一台leader
  • 名字服务=>所有服务提供统一入口
  • 配置管理=>共享配置
  • 集群管理=>节点的加入和退出

Zookeeper 目录结构

  1. bin:放置运行脚本和工具脚本,如果是 Linux 环境还会有有 zookeeper 的运 行日志 zookeeper.out
  2. conf:zookeeper 默认读取配置的目录,里面会有默认的配置文件
  3. contrib:zookeeper 的拓展功能
  4. dist-maven:zookeeper的 maven 打包目录
  5. docs:zookeeper 相关的文档
  6. lib:zookeeper 核心的 jar
  7. recipes:zookeeper 分布式相关的 jar 包
  8. src:zookeeper 源码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值