zookeeper学习

zookeeper学习

参考ZooKeeper 详解

zookeeper是分布式的、开源的程序协调服务,提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。

  • 配置管理

    数据库链接等配置服务,通过zab协议使得分布式系统达成一致性

  • 名字服务

    通过指定的名字获取资源或者服务的地址,童工者的信息

  • 分布式锁

    控制分布式系统之间同步访问资源

  • 集群管理

    感知集群的变化,采取相应的措施

zookeeper的存储结构是树形的,每个节点为Znode,与unix文件系统结点相似,可以存储/获取该节点数据

znode节点:每个节点至多存储1M数据,并且可以通过ls,delete,get,set操作节点

节点类型:
  • PERSISTENT 持久化节点: 在节点创建后,就一直存在,直到有删除操作来主动清除这个节点。
  • PERSISTENT_SEQUENTIAL 持久顺序节点,与持久化节点基本一致,但他的父节点会为他的第一级子节点维护一份时序,记录每个节点创建顺序
  • EPHEMERAL 临时节点 临时节点的生命周期和客户端会话绑定,会话结束,节点被清理掉
  • EPHEMERAL_SEQUENTIAL 临时自动编号节点 带有顺序的临时节点
zookeeper特点
  • 最终一致性:client 不论连接到哪个 Server,展示给它都是同一个视图
  • 可靠性:如果消息 m 被到一台服务器接受,那么它 将被所有的服务器接受。
  • 实时性:Zookeeper 保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。
  • 等待无关:慢的或者失效的 client 不得干预快速的 client 的请求,使得每 个 client 都能有效的等待。
  • 原子性:更新只能成功或者失败,没有中间状态。
  • 顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息 a 在消息 b 前发布,则在所有 Server 上消息 a 都将在消息 b 前被发布;偏序是指如果一个消息 b 在消 息 a 后被同一个发送者发布,a 必将排在 b 前面。

zookeeper安装:

posted @ 2022-02-14 16:36  流光之中  阅读(101)  评论(0编辑  收藏  举报