ZooKeeper
11 篇笔记
- 1.1 Zookeeperhistorical
1. Zookeeper是什么 - 是一个分布式协调服务框架,提供分布式数据一致性解决方案。 - 一致性指的是CAP.md中的CP,Zookeeper保证的是最终一致性,因此更准确得说Zookeeper其实是基于BASE理论的 - 它主要是用来解决分布式应用中经常遇到的一些数据管理问题,可以用于分布
- 1.2 Zookeeper安装historical
1. 单机版 1.1. 下载 - Apache ZooKeeper 1.2. 配置 - conf/zoo.cfg - 集群配置 1.3. 启动 1.4. 操作 1.4.1. Stat结构体 cZxid:这是导致创建znode更改的事务ID。 mZxid:这是最后修改znode更改的事务ID。 pZx
- 2.1 Zookeeper分布式锁historical
1. Zookeeper分布式锁实现 1.1. 基于Apache Curator - maven - 例子 1.1.1. 注意点 只有同一个线程的同一个InterProcessSemaphoreMutex实例才能加锁解锁 说明如下 1. 同一个线程创建两个实例, 两个都加锁 2. 同一个线程创建两个
- 2.2 Zookeeper注册中心historical
2. Zookeeper注册中心实现 2.1. pom.xml 2.2. 代码 1. Zookeeper注册中心原理 创建临时有序节点+监听父节点的子节点变化事件
- 2.3 Zookeeper master选举historical
1. Zookeeper master选举实现 1.1. pom.xml 1.2. 代码 1.3. 测试 首先连接zookeeper,创建/master节点 1.4. 结果 2. Zookeeper master选举原理 和Zookeeper分布式锁.md一样创建临时有序节点+监听比自己小一号的节点
- 3.1 ZAB协议historical
1. ZAB是什么 - Zookeeper自己实现的分布式共识算法 - ZAB协议(Zookeeper Atomic Broadcast Protocol):支持崩溃恢复的原子消息广播协议。 - 什么叫崩溃恢复:集群刚启动或者Leader宕机,zk进入恢复模式,需要重新选举Leader,选举完成后将
- 3.2 Zookeeper监听器原理historical
1. 事件监听机制是什么 Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务端的一些指定事件触发了这个 Watcher,服务端会向指定客户端发送一个事件通知来实现分布式的通知功能,然后客户端根据 Watcher 通知状态和事件类型做出业务上的改变 设置监
- 3.3 文件系统historical
1. zookeeper的数据结构类似与Linux文件系统 1.1. 每个节点都可以存放数据 与文件系统不同的是, zk的每个节点都可以存放数据,文件系统只有文件节点可以存放数据而目录节点不能 1.2. 每个节点的存放数据上限为1M Zookeeper 为了保证高吞吐和低延迟,在内存中维护了这个树状
- 3.4 节点特性historical
1. 节点类型 1.1. PERSISTENT(持久节点) 除非手动删除,否则节点一直存在于 Zookeeper 上 1.2. EPHEMERAL(临时节点) 临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与zookeeper 连接断开不一定会话失效),那么这个客户端创建的所有临时节
- 3.5 Zookeeper高可用historical
1. 主从复制 分布式系统复制架构之主从复制.md 1.1. Leader选举 1.1.1. 选举方法 启动的时候基于选举算法,参考ZAB协议.md 1.2. 数据同步 1.2.1. 同步过程 - 全量复制:leader把自己本地的log发送给follower,follower恢复数据 1.2.2.