zookeeper-01-基本概念

[TOC]

1 zookeeper简介

zookeeper是一套分布式协调服务,是高性能的分布式数据一致性解决方案。由雅虎创建。

1.1 特点

  • 开源
  • 高性能
  • 实时性
  • 单一视图:就和HDFS一样,屏蔽了背后的若干集群信息。无论客户端连接到哪台机器,展现给所有客户端的视图都是一致的。
  • 可靠性
  • 有许多好用的第三方客户端工具,比如ZkClient,curator等。
  • 有着广泛的应用(Hadoop,Solr,HBase,Storm等)

1.2 zookeeper的应用案例

  • 负载均衡
  • 发布/订阅
  • 分布式队列
  • 分布式锁
  • 命名服务

2 几个名词

2.1 几个角色

  • Leader

是zookeeper集群中的核心,一个集群中的老大。

  • Follower

Follower是zookeeper集群中Leader的下属节点,Leader带领的一帮小弟。

  • Observer

Observer是观察者。

2.2 session

zookeeper中的session一般指的是客户端和zookeeper集群之间的一个TCP连接。
一般在客户端启动的时候就会和zookeeper集群之间建立一个长连接。

2.3 数据节点

整个zookeeper的数据模型就是一棵树。
和Linux文件系统类似。有一个根节点,其下有若干子节点。
这些节点可以保存数据。

另外,zookeeper集群中的一台机器,也可以称之为一个节点。上面所说的节点是指在同一台机器上而言的。

2.4 watcher

watcher指的是在某些zookeeper节点上注册的监听器,用以监听数据的变化。

2.5 ACL

此处的ACL(Access Control List)和Linux文件系统的中的那个访问控制列表有点类似。
权限主要有:

  • CREATE : 创建子节点
  • READ : 获取节点数据和子节点列表
  • WRITE : 更新节点数据
  • DELETE : 删除子节点
  • ADMIN : 设置节点ACL的权限

与授权相关的几个概念:

  • shchema:权限模式,有IP和digest两种
  • ID:授权对象
    • schema为IP时,该值为具体的IP地址
    • scheme为digest时,该值为 userName:base64(sha1(userName:password))
  • permission:权限,指的就是上面所说的五种权限

最终的组合为: schema + ID + permission

2.6 version

Item DESC
version 当前数据节点的数据内容版本号
cversion 当前数据节点的子节点版本号
aversion 当前数据节点ACL版本号

你可能感兴趣的:(zookeeper-01-基本概念)