初识ZooKeeper

本文涉及的产品
服务治理 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
3月前
|
存储 容灾 算法
深入理解Zookeeper系列-1.初识Zoookeeper
深入理解Zookeeper系列-1.初识Zoookeeper
51 0
|
18天前
|
存储 监控 负载均衡
ZooKeeper
ZooKeeper
|
7月前
|
存储 算法 Linux
Zookeeper
 ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
99 0
|
8月前
|
JSON Linux Shell
zookeeper
zookeeper
123 0
|
10月前
|
存储 域名解析 负载均衡
Zookeeper—应用
前言 在前面的几篇文章中,我们讲解了ZooKeeper的组成,基本功能,集群选举,ZAB协议和数据一致性。所有的设计都因应用场景而生,不结合场景的方案都是耍流氓。在今天的文章中,我们将要去了解ZK的应用,加深对ZK的认识。
|
存储 设计模式 分布式计算
Zookeeper系列 (一)
Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。
90 0
Zookeeper系列 (一)
|
SQL 存储 关系型数据库
|
存储 Dubbo 网络协议
关于ZooKeeper,你好像还有不知道的事情
Dubbo 通过注册中心在分布式环境中实现服务的注册与发现,而注册中心通常采用 ZooKeeper,研究注册中心相关源码绕不开 ZooKeeper,所以学习了 ZooKeeper 的基本概念以及相关 API 操作。
关于ZooKeeper,你好像还有不知道的事情
|
存储 消息中间件 算法
ZooKeeper 到底解决了什么问题?
目标 ZooKeeper 很流行,有个基本的疑问: ZooKeeper 是用来做什么的? 之前没有ZK,为什么会诞生 ZK?
279 0
ZooKeeper 到底解决了什么问题?
|
存储 分布式计算 监控
Zookeeper介绍
一、Zookeeper概述
428 0
Zookeeper介绍