编辑: 于世美 | 2019-07-03 |
? EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点: 客户端与zookeeper断开连接后,该节点被删除,只是 Zookeeper给该节点名称进行顺序编号. 《大数据技术基础》 厦门大学计算机系 林子雨 [email protected] 2013年9月修订版 Zookeeper 数据结构的特点 ? 每个子目录项如NameService都被称作为znode,这个znode是被它所在的路 径唯一标识,如Server1这个znode的标识为/NameService/Server1;
? znode可以有子节点目录,并且每个 znode 可以存储数据,注意 EPHEMERAL 类型的目录节点不能有子节点目录;
? znode是有版本的,每个znode中存储的数据可以有多个版本,也就是一个访 问路径中可以存储多份数据;
? znode可以是临时节点,一旦创建这个znode的客户端与服务器失去联系,这个znode也将自动删除,Zookeeper的客户端和服务器通信采用长连接方式, 每个客户端和服务器通过心跳来保持连接,这个连接状态称为session,如果 znode是临时节点,这个session失效,znode也就删除了;
? znode的目录名可以自动编号,如App1已经存在,再创建的话,将会自动命 名为App2;
? znode可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的 变化等,一旦变化可以通知设置监控的客户端,这个是Zookeeper的核心特 性,Zookeeper的很多功能都是基于这个特性实现的,后面在典型的应用场 景中会有实例介绍. 《大数据技术基础》 厦门大学计算机系 林子雨 [email protected] 2013年9月修订版
4、Zookeeper的典型应用场景 ? 统一命名服务(Name Service) ? 配置管理(Configuration Management) ? 集群管理(Group Membership) ? 共享锁(Locks) ? 队列管理 《大数据技术基础》 厦门大学计算机系 林子雨 [email protected] 2013年9月修订版 统一命名服务 ? 分布式应用中,通常需要有一套完整的命名规则,既能够 产生唯一的名称又便于人识别和记住,通常情况下用树形 的名称结构是一个理想的选择,树形的名称结构是一个有 层次的目录结构,既对人友好又不会重复. ? Zookeeper的Name Service与JNDI能够完成的功能是差 不多的,它们都是将有层次的目录结构关联到一定资源上 . ? Name Service已经是Zookeeper 内置的功能,你只要调 用Zookeeper的API 就能实现.如调用create接口就可以 很容易创建一个目录节点. 《大数据技术基础》 厦门大学计算机系 林子雨 [email protected] 2013年9月修订版 配置管理 ? 配置的管理在分布式应用环境中很常见,例如同一个应用系统需要多 台PC Server 运行,但是它们运行的应用系统的某些配置项是相同的 ,如果要修改这些相同的配置项,那么就必须同时修改每台运行这个 应用系统的 PC Server,这样........