写点什么

zookeeper- 认识 zookeeper

作者:zarmnosaj
  • 2022 年 7 月 12 日
  • 本文字数:582 字

    阅读完需:约 2 分钟

zookeeper 能解决什么问题?

zooKeeper 是经典的分布式数据一致性解决方案,一般可以用于:


  1. 维护各种配置信息例如 hbase 中,客户端就是连接一个 zookeeper,获得集群的配置信息,再进一步操作。消息队列 kafka 中也使用了 zookeeper 来维护 broker 的信息。

  2. 实现分布式锁

  3. 集群信息管理

  4. 生成分布式唯一 ID 使用了 zookeeper 顺序节点的特性。

zookeeper 的特点

  1. 高性能


zooKeeper 是将全量数据存储在内存中,直接服务于客户端的所有非事务请求,特别适用于以读为主的场景


  1. 高可用


zooKeeper 一般以集群的方式对外提供服务,每台机器都会在内存中维护当前的服务器状态,每台机器之间都保持着相互通信。只要集群中超过一半的机器都能够正常工作,那么整个集群就能够正常对外服务。


  1. 严格顺序访问


对于每个更新请求,ZooKeeper 都会分配一个全局唯一的递增事务编号,这个编号反映了事务操作的先后顺序

zookeeper 的数据模型

zookeeper 的数据节点可以视为树状结构或者目录结构,各节点被称为 znode。比如/root/path1/children,其中 root 为 path1 的父节点,path1 为 root 的子节点。


zookeeper 中的节点分为临时节点和永久节点。节点的类型在创建时确定,不能改变。


临时节点:生命周期依赖于创建它们的会话。一旦会话结束,临时节点自动删除,或手动删除。每个临时对所有的客户端可见。ZooKeeper 的临时节点不能拥有子节点。


持久化节点:该节点的生命周期不依赖于会话,只有显示执行删除操作时才会被删除。

发布于: 刚刚阅读数: 3
用户头像

zarmnosaj

关注

靡不有初,鲜克有终 2020.02.06 加入

成都后端混子

评论

发布
暂无评论
zookeeper-认识zookeeper_7月月更_zarmnosaj_InfoQ写作社区