Zookeeper简介(一)

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

使用Zookeeper已经有几年时间了,零零散散的积累了一些经验,但从未想过能写出一些列的文章分享出来。从今天起,计划持续更新关于Zookeeper相关的文章,从基本的搭建使用、原理分析、典型场景分析、引用案例及代码编写,甚至到后期的源代码分析,带领大家一步步的从入门到深入Zookeeper的使用,在这个过程中你会像我一样慢慢的喜欢上它。欢迎大家持续关注本人博客。


简介

如果你还处于单机时代,那么你将很少用到Zookeeper,很多更好的方案可以帮助你解决问题。一旦涉及到分布式应用,或许在每做一个决定的时候都要想一想,是否可以使用Zookeeper来实现。


Zookeeper是Apache Hadoop的一个子项目,主要是用来解决分布式应用中经常遇到的一些数据管理问题。下图列举了一些可能会遇到的场景。


image.png特点

Zookeeper可以保证如下的分布式特性:


顺序一致性

原子性

单一视图

可靠性

实时性

设计目标

目标一 简单的数据模型

Zookeeper使得分布式程序能够通过一个共享的、树形结构的名字空间来进行相互协调。组成这个树形结构的数据节点被称作ZNode,它们之间的层级关系就像文件系统的目录结构一样。


image.png目标二 可以构建集群

也就是Zookeeper服务的可复制性。一般3-5台机器就可以构建一个Zookeeper的集群。只要确保一半以上的服务器能够正常工作,整个机器就能够正常对外服务。相互之间可以进行通信,在内存中维护当前服务器状态。客户可以与任意一台服务器建立TCP连接进行通信,当与此服务器连接断开之后,客户端会自动连接到集群中的其他服务器继续工作。


目标三 顺序访问

客户端的每一个更新请求Zookeeper都会分配一个全局唯一的递增编号,通过这个编号可以确保事物操作的先后顺序。


目标四 高性能

Zookeeper将全量数据存储于内存之中,并直接服务于客户端的所有非事物请求,因此在读操作的应用上优势更为明显。可以在千台服务器组成的读写比例大约为10:1的分布系统上表现优异。


image.png

版本及官网

Zookeeper的官网地址:http://zookeeper.apache.org/

GitHub地址:https://github.com/apache/zookeeper

目前稳定版本为Release 3.4.9,以后的博客内容也以此版本为基础来讲解。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
4月前
|
存储 负载均衡 网络协议
ZooKeeper【基础 01】简介+设计目标+核心概念+ZAB协议+典型应用场景
ZooKeeper【基础 01】简介+设计目标+核心概念+ZAB协议+典型应用场景
58 0
|
11月前
|
存储 消息中间件 分布式计算
Zookeeper数据查看工具ZooInspector简介
Zookeeper数据查看工具ZooInspector简介
706 0
|
分布式计算 Java Hadoop
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
第5章 ZooKeeper简介及安装
第5章 ZooKeeper简介及安装
82 0
|
存储 设计模式 负载均衡
Zookeeper——简介 & 下载 & Linux下配置安装启动 & 解读相关配置参数
Zookeeper——简介 & 下载 & Linux下配置安装启动 & 解读相关配置参数
Zookeeper——简介 & 下载 & Linux下配置安装启动 & 解读相关配置参数
|
存储 分布式计算 Hadoop
ZooKeeper简介和概念知识
ZooKeeper简介和概念知识
130 0
ZooKeeper简介和概念知识
|
Dubbo 应用服务中间件 API
Zookeeper开源客户端ZKClient和Curator简介
Zookeeper开源客户端ZKClient和Curator简介
178 0
ZooKeeper第三方客户端CuratorFramework简介
CuratorFramework监听机制的一些细节
2004 0
|
存储 网络协议 Java
ZooKeeper简介
ZooKeeper简介 ZooKeeper:分布式应用的协调服务 ZooKeeper是一个分布式的开源协调服务,用于分布式应用程序。它公开了一组简单的原子操作,分布式应用程序可以构建这些原子操作,以实现更高级别的服务,以实现同步,配置维护以及组和命名。
1306 0
|
存储 网络协议 Java