初识ZooKeeper

本文涉及的产品
云原生网关 MSE Higress,422元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 特点、应用场景

一.ZooKeeper概述

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

二.ZooKeeper特点

1、ZooKeeper:一个领导者,多个跟随者组成的集群

2、集群只要有半数节点存活,那么ZooKeeper集群就能正常服务,所以说ZooKeeper适合奇数台服务器。

3、全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

4、更新请求顺序执行,来自同一个Client的更新请求按顺序依次执行。

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

6、实时性,ZooKeeper的同步时间很快,任何一台服务器保存了数据,其他服务器也会保存相同数据。

三.ZooKeeper数据结构

ZooKeeper的数据结构和Unix文件系统很类似,整体上可以看做一棵,每个节点称作ZNode,每个ZNode默认能够存储1M的数据,每个ZNode都可以通过路径唯一标识

四.ZooKeeper应用场景

ZooKeeper提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。

1.统一命名服务

在分布式环境下,通常对服务进行统一命名,便于识别。例如:IP不易记,域名易记。

2.统一配置管理

(1)分布式环境下,配置文件同步非常常见

  • 一般要求一个集群中,所有节点的配置信息是一致的。如Kafka集群。
  • 对配置文件修改后,希望可以快速同步到各个节点上。

(2)配置信息可由ZooKeeper实现

  • 可将配置信息写入ZooKeeper的一个ZNode。
  • 客户端服务器监听这个Znode。
  • 一旦ZNode中的数据发生修改,ZooKeeper会通知客户端服务器。

3.统一集群管理

(1)分布式环境下,需要实时掌握每个节点的状态。

  • 可根据节点实时状态做出一些调整。

(2)ZooKeeper可以实现实时监控节点的状态变化。

  • 可将节点信息写入ZooKeeper中的一个ZNode。
  • 监听这个ZNode可获取实时的状态变化。

4.服务器节点动态上下线

5.软负载均衡

在ZooKeeper中记录每台服务器的访问数量,让访问最少的服务器去处理最新的客户端请求。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
9月前
|
存储 容灾 算法
深入理解Zookeeper系列-1.初识Zoookeeper
深入理解Zookeeper系列-1.初识Zoookeeper
134 0
|
8月前
|
存储 分布式计算 算法
ZooKeeper
【6月更文挑战第21天】ZooKeeper
189 39
|
8月前
|
消息中间件 分布式计算 负载均衡
ZooKeeper在哪些场景中被使用?
【6月更文挑战第21天】ZooKeeper在哪些场景中被使用?
232 38
|
9月前
|
存储 消息中间件 负载均衡
Zookeeper 简单介绍
Zookeeper 简单介绍
|
8月前
|
算法 Java Apache
你真的了解Zookeeper吗?
你真的了解Zookeeper吗?
58 0
|
运维 分布式计算 算法
Zookeeper解读
Zookeeper解读
83 0
|
存储 算法 Linux
Zookeeper
 ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
164 0
|
存储 分布式计算 数据管理
|
SQL 存储 关系型数据库
|
存储 Dubbo 网络协议
关于ZooKeeper,你好像还有不知道的事情
Dubbo 通过注册中心在分布式环境中实现服务的注册与发现,而注册中心通常采用 ZooKeeper,研究注册中心相关源码绕不开 ZooKeeper,所以学习了 ZooKeeper 的基本概念以及相关 API 操作。
关于ZooKeeper,你好像还有不知道的事情