Zookeeper简介:
1.什么是Zookeeper?
ZK是一个高效的分布式协调服务,他暴露了一些公用服务,比如命名、配置管理,同步控制,群组服务等,我们可以使用ZK实现比如达成共识,集团管理,leader选举等。
2.设计目标
简单:ZK中的namespace组织结构类似与标准的文件系统,通过这些共享的有层次的namespace来互相协调分布式中的多个进程,这些namespace由Znodes组成,ZK数据被保存在内存中,这也意味着ZK将可以达到较高的吞吐量/较低的延迟。
ZK的核心目标就是高性能,高可用,严格有序的存取。
高性能标志着ZK可以使用在大规模分布式环境中;
高可用标志着ZK避免单点故障,具有较强的容错能力;
严格有序意味着客户端可以实现复杂的同步。
复制:ZK的数据将会在ZK Cluster中的每台机器上协作复制(备份),构成ZK服务的机器必须能够互相感知对方。他们保持了一个内存视图状态,同事伴随着tnxlog和snapshot的持久存储。只要大部分server有效,那么ZK服务也是有效的。客户端只与一个ZKserver 建立连接,client通过建立的TCP连接来进行请求,响应,获取事件,发送心跳等。如果此TCP连接失效,Client将会尝试连接其他的ZKserver.
全序性:对于每个update请求,ZK都会为生成唯一的zid来表示其事务的顺序,接下来的操作可以使用zid的顺序实现同步原语(队列)。
高效快速:ZK在“读主导”的应用中表现的非常优秀。ZK应用可以运行在数台机器上,并且在read远大于write的场景中,是非常合适的,通常这个比例为10:1.
3.Zookeeper server 组成
ZK server 根据其身份特性分为三种:leader,follower,Observer,其中follower和Observer又统称Learner(学习者)。
leader : 负责客户端的writer类型请求.
follower: 负责客户端的reader类型请求,参与leader选举等。
Observer:特殊的“follower”,其可以接受客户端reader请求,但不参与选举。(扩容系统支持能力,提高了读取速度。因为它不接受任何同步的写入请求,只负责与leader同步数据)
4.数据模型
1.每个子目录项如nameservice 都被称为Znode,这个znode是被它所在的路径唯一标识,如Server1这个znode的表识为/nameservice/server1
2.znode可以有子节点目录,并且每个znode可以存储数据,注意EPHEMERAL类型的目录节点不能有子节点目录,
3.znode是有版本的,每个znode中存储的数据可以有多个版本,也就是一个访问路径可以存储多份数据
4.znode可以是临时节点,一旦创建这个znode的客户端与服务器失去联系,这个znode也将自动删除,ZK的客户端和服务器通信使用长连接方式,每个客户端和服务器通过心跳来保持连接,这个连接状态称为sesion,如果znode是临时节点,这个session失效,znode也就删除了
5.znode的目录名可以自动编号,如App1已经存在,再创建的话,将会自动命名为App2.
6.znode 可以被监控,包括这个目录节点中存储的数据修改,子节点目录的变化等,一旦变化可以通过设置监控的客户端,这个是ZK的核心特性,Zk的很多功能都是基于这个特性是实现的。
相关推荐
ZooKeeper简介和概念知识 ZooKeeper是分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用...
ZooKeeper是一个开源的分布式协调服务,它是为了解决分布式应用中的诸多问题而设计的,比如同步、配置管理、命名空间、分布式锁、集群管理等。ZooKeeper的设计目标是简单、健壮和良好的性能。它通过一个共享的配置...
**Zookeeper简介(3)共2页.pdf** Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口...
**Zookeeper简介** Zookeeper是Apache软件基金会的一个开源项目,它是分布式应用程序协调服务的基石,设计用于处理大量的分布式系统的同步问题。Zookeeper提供了一个高可用、高性能、简单易用的分布式协调服务,...
### Zookeeper简介 #### 1. Zookeeper概述 Zookeeper是一种专门为分布式应用提供协调服务的解决方案。随着现代软件系统的不断发展,越来越多的应用程序被部署在由多台服务器组成的集群上。这些应用程序之间的通信...
Zookeeper简介及核心概念
1 ZooKeeper 简介.md
**Zookeeper 简介与搭建** Zookeeper 是一个分布式协调服务,由雅虎和 Apache 软件基金会共同开发,是 Hadoop 生态系统中的重要组成部分。它提供了一种集中式的服务,用于命名、配置管理、分布式同步、组服务等,常...
Zookeeper是Apache软件基金会的一个开源项目,它是一个分布式的,开放源码的分布式应用程序协调服务。这个服务提供了可靠的分布式协调机制,使得分布式系统的开发变得更加简单。Zookeeper的主要目标是简化分布式环境...
zookeeper的介绍和安装步骤,可供初学者了解zookeeper,还有安装步骤
一、Zookeeper简介 Zookeeper源于雅虎的研究项目,后来成为Apache Hadoop的一部分。它的设计目标是为分布式应用提供简单、高效和高度可用的服务,包括命名服务、配置管理、组服务、分布式同步和领导选举等。...
##### Zookeeper简介 Zookeeper是一款开源的分布式协调服务组件,属于Apache顶级项目之一。它主要用于简化分布式应用程序的开发过程,为开发者提供了高效且可靠的分布式协调机制。 在实际应用场景中,Zookeeper经常...
#### 一、Zookeeper简介 Zookeeper 是一个分布式的协调服务框架,它提供了一种高效、可靠的机制来维护集群中的分布式进程之间的协调工作,比如命名服务、配置管理、集群同步等。在分布式系统中,Zookeeper 被广泛...
一、Zookeeper简介 Zookeeper的设计理念源于Chubby,主要解决分布式环境中的数据一致性问题。它采用树状结构存储数据,每个节点都可以存储数据并提供服务。Zookeeper的主要角色包括:客户端、服务器节点(ZNode)和...
### Zookeeper简介 Zookeeper是Apache软件基金会的一个顶级项目,它提供了一个高性能且可靠的分布式协调服务框架。在分布式系统中,Zookeeper被广泛用于解决各种常见的分布式一致性问题,如命名服务、配置管理、...
一、Zookeeper简介 Zookeeper起源于雅虎研究部门的一个项目,后来成为Apache软件基金会的顶级项目。它提供了一种简单易用的接口,使得分布式应用能够管理和同步数据,实现服务发现、配置管理、命名服务等多种功能。...
一、Zookeeper简介 Zookeeper由Apache基金会开发,基于Java实现,设计灵感来源于Paxos算法。它提供了一种分布式一致性服务,确保在大规模分布式环境下的数据一致性。Zookeeper采用客户端/服务器模式,由多个节点...
#### 一、Zookeeper 简介与安装配置 **Zookeeper** 是一个分布式协调服务框架,它提供了一种高效可靠的机制来维护集群中的配置信息、命名服务以及提供分布式锁等功能,使得开发人员能够轻松地在分布式应用程序中...