第1章 简单认识zookeeper

发布时间 2023-09-28 00:04:34作者: Allen_Hao

官网

https://zookeeper.apache.org

 

Learn about

官方提供的学习资料(权威),一个优秀程序员第1手资料就是官网,了解她是什么?能帮我们解决什么问题?如何解决问题?

https://zookeeper.apache.org/doc/current/index.html

 

Download

下载zookeeper软件

 Zookeeper是什么

Zookeeper是一个分布式应用程序协调服务,它为分布式系统提供了一种可靠的协作机制(CP)。

ZooKeeper是一个强大的工具,用于协调分布式系统中的各种任务和解决分布式系统的常见问题。它提供了可靠的数据存储、通知机制和领导者选举等功能,使得构建复杂的分布式系统变得更加容易。主要目标是协助构建和管理分布式系统中的各种任务,例如配置管理、分布式锁、分布式队列等。

Zookeeper简称zk

用途

ZooKeeper在分布式系统中有许多重要用途,包括但不限于:

  1. 配置管理:存储和维护分布式系统的配置信息,使系统能够轻松适应变化。

  2. 分布式锁:提供了分布式锁机制,以协调多个进程或节点对共享资源的访问。

  3. 分布式队列:ZooKeeper可以用于创建分布式队列,实现任务分发和协调。

  4. 领导者选举:用于在分布式系统中选举一个节点作为领导者,以确保系统的一致性和高可用性。

  5. 分布式协调:协助多个进程或节点进行同步和通信,确保数据一致性。

  6. 命名服务(注册与发现)

Zookeeper涉及的概念

节点

ZNode(ZooKeeper节点):ZooKeeper的基本数据单元,类似于分布式文件系统中的文件或目录。每个ZNode都有一个路径,可以包含数据和子节点。ZNodes可以用来表示配置、状态信息等。

会话

会话(Session):ZooKeeper客户端与服务器之间的连接称为会话。会话是有状态的,客户端需要维护它,以便与ZooKeeper集群通信。会话在客户端和服务器之间保持心跳,并在需要时重新建立。

观察者

观察者(Watcher):观察者是一种通知机制,允许客户端监视ZooKeeper中ZNode的更改。当某个ZNode发生更改时,与该ZNode相关联的观察者会收到通知。

ACL

ACL(Access Control List):ZooKeeper允许在ZNode上设置访问控制列表,以确定哪些客户端可以访问该ZNode以及以何种方式。这有助于保护ZooKeeper中的敏感数据。

选举

选举(Election):ZooKeeper支持分布式系统中的领导者选举。多个候选领导者可以竞争成为领导者,并且ZooKeeper保证只有一个领导者。