ZooKeeper基本概念

Posted Decade晚安

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZooKeeper基本概念相关的知识,希望对你有一定的参考价值。

目录

一、定义

二、基本概念


一、定义

Zookeeper是一个分布式协调服务,目的是将复杂且容易出错的分布式一致性服务封装起来,提供一些简单的接口给用户使用。同时它也是分布式数据一致性的解决方案。

二、基本概念

1.集群角色

在Zookeeper中,它引用了Leader Follower Observer三种角色。在Zookeeper集群中的所有机器会推举一个机器作为Leader。Leader服务器为客户端提供读、写服务。而Follower和Observer只提供读服务,他俩之间唯一不同的区别就是Observer不参与选举投票(选举Leader、写操作过半写成功策略)。

在Zookeeper写操作时:

 2.会话

客户端启动会与服务器建立一个TCP连接,在连接建立开始时,会话的生命周期也就开始了。通过这个连接客户端会通过心跳检测与服务器保持有效的会话。能向Zookeeper发送请求并接受响应,还能接收服务器的事件通知。

3.数据节点

在Zookeeper中节点分为两类:一类是构成集群的机器,为机器节点。另一类是数据模型中的数据单元,将其称之为数据节点。Zookeeper是将所有数据存储在内存中,数据模型是,由(/)进行分割路径------就是一个ZNode。例如:/app1/p1.

4.版本

Zookeeper上的每个ZNode都会存储数据,对于每一个ZNode,Zookeeper都会对其维护一个Stat的数据结构,Stat中记录了这个ZNode的三个数据版本,Version(当前的ZNode版本)、cversion(当前ZNode的子节点的版本)、aversion(当前ZNode的ACL版本)。

5.事件监听器

Zookeeper提供了数据的发布/订阅功能,多个订阅者可同时监听某一特定主题对象,当该主题对象的自身状态发生变化时(例如节点内容改变、节点下的子节点列表改变等),会实时、主动通知所有订阅者。

6.ACL

Zookeeper是通过ACL策略来进行权限控制的。

CREATE   c 可以创建子节点
DELETE   d 可以删除子节点(仅下一级节点)
READ       r 可以读取节点数据及显示子节点列表
WRITE     w 可以设置节点数据
ADMIN     a 可以设置节点访问控制列表权限
 

以上是关于ZooKeeper基本概念的主要内容,如果未能解决你的问题,请参考以下文章

分布式(Zookeeper)基本概念

zookeeper基本概念和功能

ZooKeeper基本概念

Zookeeper-基本概念

1ZooKeeper 基本概念使用方法实践场景

开讲ZooKeeper啦!先谈基本概念。