ZooKeeper

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

什么是ZooKeeper

官网给于解释是:
image
centralized service 集群服务
maintaining 维护

意思就是ZooKeeper是一个为 维护配置信息,域名维护, 提供分布式同步以及集体服务的集群服务系统. 所有的这些服务通常被用于其他分布式应用上.每次他们用于实现 大量关于 修复不可避免的bugs和线程竞争 的工作.由于实现这些服务的困难,最初的应用程序通常会对它们进行节省,这使得它们在出现变化和难以管理时变得脆弱.即使在正确的情况下,这些服务的不同实现在应用程序部署时也会导致管理复杂性。

百度给出的解释是:

image

原理

ZooKeeper是以Fast Paxos算法为基础的,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。

Zookeeper 的基本运转流程
1.选举leader
2.同步数据
3.选举leader过程中算法有很多,但要达到的选举标准是一致的.
4.leader要具有最好的执行权
5.集群中大多数的及其得到响应并接受选出的leader

架构
image
功能
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一域名服务、状态同步服务、集群管理、分布式应用配置项的管理等
数据结构
image
Zookeeper这种数据结构有如下这些特点:

1.每个子目录下如NameService都被称作znode这个znode是被它所在的路径唯一标识,如Server1这个znode的表示为NameService/server1
2.znode可以有子节点目录,并且znode可以存储数据,注意EPHEMERAL
3.znode是有版本的,每个znode中存储的数据可以有多个版本,也就是一个访问路径可以存储多份数据
4.znode可以使临时节点,一旦创建这个znode的客户端与服务器失去联系,这个znode也将自动删除,Zookeeper的客户端和服务端通信采用长连接方式,每个客户端和服务器通过心跳来保持连接,这个链接状态称为session如果znode是临时节点,这个session失效.znode也就删除
znode可以被临时控制,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个是Zookeeper的核心特性,Zookeeper的很多功能是居于这个特性实现的

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3月前
|
存储 容灾 算法
深入理解Zookeeper系列-1.初识Zoookeeper
深入理解Zookeeper系列-1.初识Zoookeeper
46 0
|
8天前
|
存储 监控 负载均衡
ZooKeeper
ZooKeeper
|
5月前
|
运维 分布式计算 算法
Zookeeper解读
Zookeeper解读
36 0
|
7月前
|
存储 算法 Linux
Zookeeper
 ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
99 0
|
存储 设计模式 分布式计算
Zookeeper系列 (一)
Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。
90 0
Zookeeper系列 (一)
|
消息中间件 存储 分布式计算
初识ZooKeeper
特点、应用场景
549 0
|
存储 Dubbo 网络协议
关于ZooKeeper,你好像还有不知道的事情
Dubbo 通过注册中心在分布式环境中实现服务的注册与发现,而注册中心通常采用 ZooKeeper,研究注册中心相关源码绕不开 ZooKeeper,所以学习了 ZooKeeper 的基本概念以及相关 API 操作。
关于ZooKeeper,你好像还有不知道的事情
|
存储 消息中间件 算法
ZooKeeper 到底解决了什么问题?
目标 ZooKeeper 很流行,有个基本的疑问: ZooKeeper 是用来做什么的? 之前没有ZK,为什么会诞生 ZK?
279 0
ZooKeeper 到底解决了什么问题?
|
存储 分布式计算 监控
Zookeeper介绍
一、Zookeeper概述
428 0
Zookeeper介绍
zookeeper理解与应用
它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。
84 0