乐趣区

关于zookeeper:从Paxos到Zookeeper-分布式一致性原理与实践

从 Paxos 到 Zookeeper 分布式一致性原理与实际

下载地址:https://pan.baidu.com/s/1Rq7FHUr-NooJ_CSXwG5E4g

扫码上面二维码关注公众号回复 100015 获取分享码

本书目录构造如下:

一、概念

· 二、一致性协调

· 2.1 2PC (Two-Phase Commit)

· 前提

· 根本算法

· 算法示意

· 毛病

· 2.2 3PC (Three-Phase Commit)

· 根本算法

· 1.CanCommit 阶段

· 2.PreCommit 阶段

· 3.DoCommit 阶段

· 算法示意

· 2PC 和 3PC 区别

· 优缺点

· 2.3 Paxos(解决单点问题)

· Paxos 算法原理

· Paxos 算法过程

· 三、Zookeeper

· 3.1、初识 Zookeeper

· 3.1.1 zookeeper 能够保障如下分布式一致性个性

· 3.1.2 zookeeper 的四个设计指标

· 3.1.3 zookeeper 的基本概念

· 1、集群角色

· 2、会话

· 3、数据节点

· 4、版本

· 5、Watcher

· 6、ACL

· 3.2、ZAB

· 3.2.1、ZAB 协定

· 3.2.2、ZAB 两种根本的模式:解体复原和音讯播送。

· 解体复原

· 音讯播送

· 根本个性

· 数据同步

· 3.2.3、ZAB 协定原理

· 3.3、ZAB 与 Paxos 的分割和区别

· 四、应用 Zookeeper

· 4.1、部署与运行

· 4.2、客户端脚本

· 4.3、Java 客户端 API 应用

· 4.4、开源客户端

· 4.4.1、ZkClient

· 4.1.1 增加依赖

· 4.4.2、Curator 客户端

· 4.4.2.1 增加依赖

· 4.4.2.2 创立会话

· 4.4.2.3 创立节点

· 4.4.2.7 异步接口

· 4.2.8 节点监听

· 4.2.9 子节点监听

· 4.2.10 Master 选举

· 4.2.11 分布式锁

· 4.4.2.12 分布式计数器 DistributedAtomicInteger

· 4.4.2.13 分布式 Barrier

· 4.4.3、Curator 工具类

· 4.4.3.1 ZKPaths

· 4.4.3.2 EnsurePath

· 五、Zookeeper 利用场景

· 5.1、典型利用场景及实现

· 5.1.1 数据公布 / 订阅

· 5.1.2 负载平衡

· 5.1.3 命名服务

· 5.1.4 分布式协调 / 告诉

· 5.1.5 集群治理

· 5.1.6 Master 选举

· 5.1.7 分布式锁

· 5.1.8 分布式队列

· 5.2、zk 在大型分布式系统中的利用

· 5.2.1 Hadoop

· 5.2.1.1 YARN

· 5.2.1.2 ResourceManager HA

· 5.2.1.3 主备切换

· 5.2.1.4 隔离(Fencing)

· 5.2.1.5 ResourceManager 状态存储

· 5.2.2 HBase

· 5.2.3 Kafka

· 5.2.3.1 Broker 注册

· 5.2.3.2 Topic 注册

· 5.2.3.3 生产者负载平衡

· 5.2.3.4 消费者负载平衡

· 5.2.3.5 生产分区与消费者的关系

· 5.2.3.6 音讯生产进度 Offset 记录

· 5.2.3.7 消费者注册

· 5.2.3.8 负载平衡

·《从 Paxos 到 zookeeper 分布式一致性原理与实际》笔记

· 第 6 章 ZooKeeper 技术底细

· 6.1 零碎模型

· 6.1.1 数据模型

· 6.1.2 节点个性

· 6.1.3 版本——保障分布式数据原子性操作

· 6.1.4 Watcher——数据变更的告诉

· 6.1.5 ACL——保障数据的平安

· 6.2 序列化与协定

· 6.2.1 Jute 介绍

· 6.2.2 应用 Jute 进行序列化

· 6.2.3 深刻 Jute

· 6.2.4 通信协议

· 6.2.4.1 申请协定

· 6.2.4.2 响应协定

· 6.2.5 stat 状态阐明

· 6.3 客户端

· 6.3.1 一次会话的创立过程

· 6.3.2 服务器地址列表

· 6.3.3 ClientCnxn:网络 I /O

· 6.4 会话

· 6.4.1 会话状态

· 6.4.2 会话创立

· 6.4.3 会话治理

· 6.4.4 会话清理

· 6.4.5 重连

· 6.4.5.1 重连状态(CONNECTED & EXPIRED)

· 6.4.5.2 重连异样: CONNECTION_LOSS(连贯断开)和 SESSION_EXPIRED(会话过期)

· 6.5 服务器启动

· 6.5.1 单机版服务器启动

· 6.5.1.1 单机版服务器启动 – 预启动

· 6.5.1.2 单机版服务器启动 – 初始化

· 6.5.2 集群版服务器启动

· 6.5.2.1 集群版服务器启动 – 预启动

· 6.5.2.2 集群版服务器启动 – 初始化

· 6.6 Leader 选举

· 6.6.1 Leader 选举概述

· 6.6.1.1 服务器启动期间的 Leader 选举

· 6.6.1.2 服务器运行期间的 Leader 选举

· 6.6.2 Leader 选举的算法剖析

· 6.6.2.1 术语解释

· 6.6.2.2 进入 leader 选举

· 6.6.3 Leader 选举的实现细节

· 6.7 各服务器角色介绍

· 6.7.1 Leader

· 6.7.1.1 申请解决链

· 6.7.1.2 LearnerHandler

· 6.7.2 Follower

· 6.7.3 Observer

· 6.7.4 集群间音讯通信

· 6.8 申请解决

· 6.8.1 会话创立申请

· 6.8.1.1 申请接管

· 6.8.1.2 会话创立

· 6.8.1.3 预处理

· 6.8.1.4 事务处理

· 6.8.1.5 事务利用

· 6.8.1.6 会话响应

· 6.8.2 SetData 申请

· 6.8.3 事务申请转发

· 6.8.4 GetData 申请

· 6.9 数据与存储

· 6.9.1 内存数据

· 6.9.2 事务日志

· 6.9.2.1 文件存储

· 6.9.2.2 日志格局

· 6.9.2.3 日志写入

· 6.9.2.4 日志截断

· 6.9.3 snapshot——数据快照

· 6.9.3.1 文件存储

· 6.9.3.2 数据快照

· 6.9.4 初始化

· 6.9.4.1 初始化流程

· 6.9.5 数据同步

· 七、Zookeeper 运维

· 7.1 配置参数

· 7.1 2 四字命令

· reference

·

退出移动版