zookeeper入门(1)-zookeeper基本概念

Zookeeper入门

1、zookeeper简介

Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务

1、zookeeper是为别的分布式程序服务的

2、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)

3、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……

4、虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:

a、管理(存储,读取)用户程序提交的数据;

b、并为用户程序提供数据节点监听服务;

2、zookeeper核心工作机制

Zookeeper的特点:

 1、zookeeper集群,由一个leader和多个follower组成的。

2、zookeeper全局数据一致性,集群中的每个server保存着相同的数据副本,client无论连接到哪一台server,所能读取的数据都是一致的。

3、更新请求按顺序执行,来自同一台client的更新请求按其发送顺序依次执行。

4、数据更新具有原子性,一次数据更新要么成功,要么失败。

5、实时性,在一定时间范围内,client能读到最新的数据。

 

Zookeeper的数据结构:

 

如图所示,与标准文件系统不同,ZooKeeper命名空间中的每个节点都可以包含与之关联的数据以及子项。这就像拥有一个允许文件也是目录的文件系统。 (ZooKeeper旨在存储协调数据:状态信息,配置,位置信息等,因此存储在每个节点的数据通常很小,在字节到千字节范围内。)我们使用术语znode来说明我们正在谈论ZooKeeper数据节点。

 

Zookeeper的节点类型:

1、Znode有两种类型:

短暂(ephemeral)(断开连接自己删除)

持久(persistent)(断开连接不删除)

2、Znode有四种形式的目录节点(默认是persistent )

PERSISTENT

PERSISTENT_SEQUENTIAL(持久序列/test0000000019 )

EPHEMERAL

EPHEMERAL_SEQUENTIAL

3、创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护

4、在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序

posted @ 2019-02-12 11:49  Miles_mjy  阅读(121)  评论(0编辑  收藏  举报