前言
由于在实际工作中,几乎都是使用公司提供的基础服务或者采用开源的框架,很少与ZK实际打交道,对ZK的底层原理一知半解,无法将各个知识点串起来,所以打算记录下自己所了解的ZK,并且将学习回顾知识汇总。
本文作为Zk系列知识的开篇,只介绍Zk的基本知识,附带提一嘴Zk的实际应用场景,不深入介绍原理。
Zookeeper介绍
一、什么是Zookeeper
Zookeeper是典型的为解决分布式一致性所带来的问题的方案组件,分布式应用可以基于zk来实现集群管理、服务注册、动态配置、负载均衡、分布式锁、发布订阅等一系列功能,并且zk可以保证分布式一致性特性。
Zk的目标是致力于提供一个高性能、高可用、严格顺序一致性的分布式协调服务。
二、Zookeeper基础概念
1. Zk数据节点(文件系统)
zk的数据模型采用一系列节点来构成,节点按照树状进行分布,类似于文件系统,所以一般说zk是一个分布式文件系统。
在zk中创建的所有数据与文件系统中的目录结构一样,采用 /aa/bb格式,不过传统的文件系统通过磁盘来存储数据,zk则采用内存存储数据,所以可以提供高吞吐、降低延迟的功能。
zk中的每个数据节点,称作为一个ZNode节点,并且ZNode按照持久化分为四种类型。
(1)持久化目录节点&#