[201502][从 Paxos 到 ZooKeeper][分布式一致性原理与实践][倪超][著]

[201502][从 Paxos 到 ZooKeeper][分布式一致性原理与实践][倪超][著]

http://zookeeper.apache.org

第 1 章 分布式架构

1.1 从集中式到分布式

1.1.1 集中式的特点

1.1.2 分布式的特点

1.1.3 分布式环境的各种问题

1.2 从 ACID 到 CAP/BASE

1.2.1 ACID

1.2.2 分布式事务

1.2.3 CAP 和 BASE 理论

小结

第 2 章 一致性协议

2.1 2PC 与 3PC

2.1.1 2PC

2.1.2 3PC

2.2 Paxos 算法

2.2.1 追本溯源

2.2.2 Paxos 理论的诞生

2.2.3 Paxos 算法详解

小结

第 3 章 Paxos 的工程实践

3.1 Chubby

3.1.1 概述

3.1.2 应用场景

3.1.3 设计目标

3.1.4 Chubby 技术架构

3.1.5 Paxos 协议实现

3.2 Hypertable

3.2.1 概述

3.2.2 算法实现

小结

第 4 章 ZooKeeper 与 Paxos

4.1 初识 ZooKeeper

4.1.1 ZooKeeper 介绍

4.1.2 ZooKeeper 从何而来

4.1.3 ZooKeeper 的基本概念

4.1.4 为什么选择 ZooKeeper

4.2 ZooKeeper 的 ZAB 协议

4.2.1 ZAB 协议

4.2.2 协议介绍

4.2.3 深入 ZAB 协议

4.2.4 ZAB 与 Paxos 算法的联系与区别

小结

第 5 章 使用 ZooKeeper

5.1 部署与运行

5.1.1 系统环境

5.1.2 集群与单机

5.1.3 运行服务

5.2 客户端脚本

5.2.1 创建

5.2.2 读取

5.2.3 更新

5.2.4 删除

5.3 Java 客户端 API 使用

5.3.1 创建会话

5.3.2 创建节点

5.3.3 删除节点

5.3.4 读取数据

5.3.5 更新数据

5.3.6 检测节点是否存在

5.3.7 权限控制

5.4 开源客户端

5.4.1 ZkClient

5.4.2 Curator

小结

第 6 章 ZooKeeper 的典型应用场景

6.1 典型应用场景及实现

6.1.1 数据发布/订阅

6.1.2 负载均衡

6.1.3 命名服务

6.1.4 分布式协调/通知

6.1.5 集群管理

6.1.6 Master 选举

6.1.7 分布式锁

6.1.8 分布式队列

6.2 ZooKeeper 在大型分布式系统中的应用

6.2.1 Hadoop

6.2.2 Hbase

6.2.3 Kafka

6.3 ZooKeeper 在阿里巴巴的实践与应用

6.3.1 案例一 消息中间件:Metamorphosis

6.3.2 案例二 RPC 服务框架:Dubbo

6.3.3 案例三 基于 MySQL Binlog 的增量订阅和消费组件

6.3.4 案例四 分布式数据库同步系统 Otter

6.3.5 案例五 轻量级分布式通用搜索平台:终搜

6.3.6 案例六 实时计算引擎:JStorm

小结

第 7 章 ZooKeeper 技术内幕

7.1 系统模型

7.1.1 数据模型

7.1.2 节点特性

7.1.3 版本 - 保证分布式数据原子性操作

7.1.4 Watcher - 数据变更的通知

7.1.5 ACL - 保障数据的安全

7.2 序列化与协议

7.2.1 Jute 介绍

7.2.2 使用 Jute 进行序列化

7.2.3 深入 Jute

7.2.4 通信协议

7.3 客户端

7.3.1 一次会话的创建过程

7.3.2 服务器地址列表

7.3.3 ClientCnxn :网络 I/O

7.4 会话

7.4.1 会话状态

7.4.2 会话创建

7.4.3 会话管理

7.4.4 会话清理

7.4.5 重连

7.5 服务器启动

7.5.1 单机版服务器启动

7.5.2 集群版服务器启动

7.6 Leader 选举

7.6.1 Leader 选举概述

7.6.2 Leader 选举的算法分析

7.6.3 Leader 选举的实现细节

7.7 各服务器角色介绍

7.7.1 Leader

7.7.2 Follower

7.7.3 Observer

7.7.4 集群间消息通信

7.8 请求处理

7.8.1 会话创建请求

7.8.2 SetData 请求

7.8.3 事务请求转发

7.8.4 GetData 请求

7.9 数据与存储

7.9.1 内存数据

7.9.2 事务日志

7.9.3 snapshot - 数据快照

7.9.4 初始化

7.9.5 数据同步

小结

第 8 章 ZooKeeper 运维

8.1 配置详解

8.1.1 基本配置

8.1.2 高级配置

8.2 四字命令

8.3 JMX

8.3.1 开启远程 JMX

8.3.2 通过 JConsole 连接 ZooKeeper

8.4 监控

8.4.1 实时监控

8.4.2 数据统计

8.5 构建一个高可用的集群

8.5.1 集群组成

8.5.2 容灾

8.5.3 扩容与缩容

8.6 日常运维

8.6.1 数据与日志管理

8.6.2 Too many connections

8.6.3 磁盘管理

小结

附录 A Windows 平台上部署 ZooKeeper

附录 B 从源代码开始构建

附录 C 各发行版本重大更新记录

附录 D ZooKeeper 源代码阅读指引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值