从Paxos到Zookeeper : 分布式一致性原理与实践 🔍
倪超著
北京:电子工业出版社, Di 1 ban, Beijing, 2015
中文 [zh] · EPUB · 9.4MB · 2015 · 📘 非小说类图书 · 🚀/duxiu/lgli/zlib · Save
描述
本书介绍几种典型的分布式一致性协议, 以及解决分布式一致性问题的思路, 其中重点讲解了Paxos和ZAB协议.全书共8章, 分为五部分: 第一部分 (第1章) 主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战, 并简要介绍了ACID, CAP和BASE等经典分布式理论;第二部分 (第2-4章) 介绍了2PC, 3PC和Paxos三种分布式一致性协议, 并着重讲解了ZooKeeper中使用的一致性协议--ZAB协议;第三部分 (第5-6章) 介绍了ZooKeeper的使用方法, 包括客戶端API的使用以及对ZooKeeper服务的部署与运行, 并结合真实的分布式应用场景, 总结了ZooKeeper使用的最佳实践;第四部分 (第7章) 对ZooKeeper的架构设计和实现原理进行了深入分析, 包含系统模型, Leader选举, 客戶端与服务端的工作原理, 请求处理, 以及服务器角色的工作流程和数据存储等;第五部分 (第8章) 介绍了ZooKeeper的运维实践, 包括配置详解和监控管理等, 重点讲解了如何构建一个高可用的ZooKeeper服务
备用文件名
zlib/Computers/Web Development/倪超/从Paxos到Zookeeper:分布式一致性原理与实践_18071560.epub
备用出版商
Publishing House of Electronics Industry
备用版本
China, People's Republic, China
备用版本
2021
元数据中的注释
Bookmarks: p1 (p1): 第1章 分布式架构
p1-1 (p1): 1.1 从集中式到分布式
p1-1-1 (p2): 1.1.1 集中式的特点
p1-1-2 (p2): 1.1.2 分布式的特点
p1-1-3 (p4): 1.1.3 分布式环境的各种问题
p1-2 (p5): 1.2 从ACID到CAP/BASE
p1-2-1 (p5): 1.2.1 ACID
p1-2-2 (p8): 1.2.2 分布式事务
p1-2-3 (p9): 1.2.3 CAP和BASE理论
p1-3 (p15): 小结
p2 (p17): 第2章 一致性协议
p2-1 (p17): 2.1 2PC与3PC
p2-1-1 (p17): 2.1.1 2PC
p2-1-2 (p21): 2.1.2 3PC
p2-2 (p24): 2.2 Paxos算法
p2-2-1 (p25): 2.2.1 追本溯源
p2-2-2 (p26): 2.2.2 Paxos理论的诞生
p2-2-3 (p27): 2.2.3 Paxos算法详解
p2-3 (p37): 小结
p3 (p39): 第3章 Paxos的工程实践
p3-1 (p39): 3.1 Chubby
p3-1-1 (p39): 3.1.1 概述
p3-1-2 (p40): 3.1.2 应用场景
p3-1-3 (p40): 3.1.3 设计目标
p3-1-4 (p43): 3.1.4 Chubby技术架构
p3-1-5 (p52): 3.1.5 Paxos协议实现
p3-2 (p55): 3.2 Hypertable
p3-2-1 (p55): 3.2.1 概述
p3-2-2 (p57): 3.2.2 算法实现
p3-3 (p58): 小结
p4 (p59): 第4章 ZooKeeper与Paxos
p4-1 (p59): 4.1 初识ZooKeeper
p4-1-1 (p59): 4.1.1 ZooKeeper介绍
p4-1-2 (p62): 4.1.2 ZooKeeper从何而来
p4-1-3 (p62): 4.1.3 ZooKeeper的基本概念
p4-1-4 (p64): 4.1.4 为什么选择ZooKeeper
p4-2 (p65): 4.2 ZooKeeper的ZAB协议
p4-2-1 (p65): 4.2.1 ZAB协议
p4-2-2 (p66): 4.2.2 协议介绍
p4-2-3 (p71): 4.2.3 深入ZAB协议
p4-2-4 (p77): 4.2.4 ZAB与Paxos算法的联系与区别
p4-3 (p78): 小结
p5 (p79): 第5章 使用ZooKeeper
p5-1 (p79): 5.1 部署与运行
p5-1-1 (p79): 5.1.1 系统环境
p5-1-2 (p80): 5.1.2 集群与单机
p5-1-3 (p84): 5.1.3 运行服务
p5-2 (p88): 5.2 客户端脚本
p5-2-1 (p88): 5.2.1 创建
p5-2-2 (p89): 5.2.2 读取
p5-2-3 (p90): 5.2.3 更新
p5-2-4 (p91): 5.2.4 删除
p5-3 (p91): 5.3 Java客户端API使用
p5-3-1 (p91): 5.3.1 创建会话
p5-3-2 (p95): 5.3.2 创建节点
p5-3-3 (p99): 5.3.3 删除节点
p5-3-4 (p100): 5.3.4 读取数据
p5-3-5 (p109): 5.3.5 更新数据
p5-3-6 (p113): 5.3.6 检测节点是否存在
p5-3-7 (p115): 5.3.7 权限控制
p5-4 (p120): 5.4 开源客户端
p5-4-1 (p120): 5.4.1 ZkClient
p5-4-2 (p130): 5.4.2 Curator
p5-5 (p162): 小结
p6 (p163): 第6章 ZooKeeper的典型应用场景
p6-1 (p163): 6.1 典型应用场景及实现注
p6-1-1 (p164): 6.1.1 数据发布/订阅
p6-1-2 (p166): 6.1.2 负载均衡
p6-1-3 (p170): 6.1.3 命名服务
p6-1-4 (p173): 6.1.4 分布式协调/通知
p6-1-5 (p179): 6.1.5 集群管理
p6-1-6 (p185): 6.1.6 Master选举
p6-1-7 (p188): 6.1.7 分布式锁
p6-1-8 (p194): 6.1.8 分布式队列
p6-1-9 (p197): 小结
p6-2 (p197): 6.2 ZooKeeper在大型分布式系统中的应用
p6-2-1 (p198): 6.2.1 Hadoop
p6-2-2 (p203): 6.2.2 HBase
p6-2-3 (p207): 6.2.3 Kafka
p6-3 (p213): 6.3 ZooKeeper在阿里巴巴的实践与应用
p6-3-1 (p213): 6.3.1 案例一 消息中间件:Metamorphosis
p6-3-2 (p217): 6.3.2 案例二 RPC服务框架:Dubbo
p6-3-3 (p219): 6.3.3 案例三 基于MySQLBinlog的增量订阅和消费组件:Canal
p6-3-4 (p223): 6.3.4 案例四 分布式数据库同步系统:Otter
p6-3-5 (p226): 6.3.5 案例五 轻量级分布式通用搜索平台:终搜
p6-3-6 (p238): 6.3.6 案例六 实时计算引擎:JStorm
p6-4 (p242): 小结
p7 (p243): 第7章 ZOOKeeper技术内幕
p7-1 (p243): 7.1 系统模型
p7-1-1 (p243): 7.1.1 数据模型
p7-1-2 (p244): 7.1.2 节点特性
p7-1-3 (p246): 7.1.3 版本——保证分布式数据原子性操作
p7-1-4 (p249): 7.1.4 Watcher——数据变更的通知
p7-1-5 (p265): 7.1.5 ACL——保障数据的安全
p7-2 (p272): 7.2 序列化与协议
p7-2-1 (p272): 7.2.1 Jute介绍
p7-2-2 (p273): 7.2.2 使用Jute进行序列化
p7-2-3 (p275): 7.2.3 深入Jute
p7-2-4 (p277): 7.2.4 通信协议
p7-3 (p284): 7.3 客户端
p7-3-1 (p286): 7.3.1 一次会话的创建过程
p7-3-2 (p289): 7.3.2 服务器地址列表
p7-3-3 (p295): 7.3.3 ClientCnxn:网络I/O
p7-4 (p298): 7.4 会话
p7-4-1 (p298): 7.4.1 会话状态
p7-4-2 (p299): 7.4.2 会话创建
p7-4-3 (p304): 7.4.3 会话管理
p7-4-4 (p307): 7.4.4 会话清理
p7-4-5 (p309): 7.4.5 重连
p7-5 (p311): 7.5 服务器启动
p7-5-1 (p312): 7.5.1 单机版服务器启动
p7-5-2 (p315): 7.5.2 集群版服务器启动
p7-6 (p321): 7.6 Leader选举
p7-6-1 (p321): 7.6.1 Leader选举概述
p7-6-2 (p323): 7.6.2 Leader选举的算法分析
p7-6-3 (p328): 7.6.3 Leader选举的实现细节
p7-7 (p335): 7.7 各服务器角色介绍
p7-7-1 (p335): 7.7.1 Leader
p7-7-2 (p338): 7.7.2 Follower
p7-7-3 (p339): 7.7.3 Observer
p7-7-4 (p339): 7.7.4 集群间消息通信
p7-8 (p342): 7.8 请求处理
p7-8-1 (p343): 7.8.1 会话创建请求
p7-8-2 (p351): 7.8.2 SetData请求
p7-8-3 (p354): 7.8.3 事务请求转发
p7-8-4 (p355): 7.8.4 GetData请求
p7-9 (p356): 7.9 数据与存储
p7-9-1 (p356): 7.9.1 内存数据
p7-9-2 (p358): 7.9.2 事务日志
p7-9-3 (p364): 7.9.3 snapshot——数据快照
p7-9-4 (p368): 7.9.4 初始化
p7-9-5 (p372): 7.9.5 数据同步
p7-10 (p376): 小结
p8 (p379): 第8章 ZooKeeper运维
p8-1 (p379): 8.1 配置详解
p8-1-1 (p379): 8.1.1 基本配置
p8-1-2 (p380): 8.1.2 高级配置
p8-2 (p384): 8.2 四字命令
p8-3 (p390): 8.3 JMX
p8-3-1 (p390): 8.3.1 开启远程JMX
p8-3-2 (p391): 8.3.2 通过JConsole连接ZooKeeper
p8-4 (p397): 8.4 监控
p8-4-1 (p397): 8.4.1 实时监控
p8-4-2 (p398): 8.4.2 数据统计
p8-5 (p398): 8.5 构建一个高可用的集群
p8-5-1 (p398): 8.5.1 集群组成
p8-5-2 (p399): 8.5.2 容灾
p8-5-3 (p402): 8.5.3 扩容与缩容
p8-6 (p402): 8.6 日常运维
p8-6-1 (p402): 8.6.1 数据与日志管理
p8-6-2 (p404): 8.6.2 Too many connections
p8-6-3 (p405): 8.6.3 磁盘管理
p8-7 (p405): 小结
p9 (p406): 附录A Windows平台上部署ZooKeeper
p10 (p409): 附录B 从源代码开始构建
p11 (p414): 附录C 各发行版本重大更新记录
p12 (p418): 附录D ZooKeeper源代码阅读指引
p1-1 (p1): 1.1 从集中式到分布式
p1-1-1 (p2): 1.1.1 集中式的特点
p1-1-2 (p2): 1.1.2 分布式的特点
p1-1-3 (p4): 1.1.3 分布式环境的各种问题
p1-2 (p5): 1.2 从ACID到CAP/BASE
p1-2-1 (p5): 1.2.1 ACID
p1-2-2 (p8): 1.2.2 分布式事务
p1-2-3 (p9): 1.2.3 CAP和BASE理论
p1-3 (p15): 小结
p2 (p17): 第2章 一致性协议
p2-1 (p17): 2.1 2PC与3PC
p2-1-1 (p17): 2.1.1 2PC
p2-1-2 (p21): 2.1.2 3PC
p2-2 (p24): 2.2 Paxos算法
p2-2-1 (p25): 2.2.1 追本溯源
p2-2-2 (p26): 2.2.2 Paxos理论的诞生
p2-2-3 (p27): 2.2.3 Paxos算法详解
p2-3 (p37): 小结
p3 (p39): 第3章 Paxos的工程实践
p3-1 (p39): 3.1 Chubby
p3-1-1 (p39): 3.1.1 概述
p3-1-2 (p40): 3.1.2 应用场景
p3-1-3 (p40): 3.1.3 设计目标
p3-1-4 (p43): 3.1.4 Chubby技术架构
p3-1-5 (p52): 3.1.5 Paxos协议实现
p3-2 (p55): 3.2 Hypertable
p3-2-1 (p55): 3.2.1 概述
p3-2-2 (p57): 3.2.2 算法实现
p3-3 (p58): 小结
p4 (p59): 第4章 ZooKeeper与Paxos
p4-1 (p59): 4.1 初识ZooKeeper
p4-1-1 (p59): 4.1.1 ZooKeeper介绍
p4-1-2 (p62): 4.1.2 ZooKeeper从何而来
p4-1-3 (p62): 4.1.3 ZooKeeper的基本概念
p4-1-4 (p64): 4.1.4 为什么选择ZooKeeper
p4-2 (p65): 4.2 ZooKeeper的ZAB协议
p4-2-1 (p65): 4.2.1 ZAB协议
p4-2-2 (p66): 4.2.2 协议介绍
p4-2-3 (p71): 4.2.3 深入ZAB协议
p4-2-4 (p77): 4.2.4 ZAB与Paxos算法的联系与区别
p4-3 (p78): 小结
p5 (p79): 第5章 使用ZooKeeper
p5-1 (p79): 5.1 部署与运行
p5-1-1 (p79): 5.1.1 系统环境
p5-1-2 (p80): 5.1.2 集群与单机
p5-1-3 (p84): 5.1.3 运行服务
p5-2 (p88): 5.2 客户端脚本
p5-2-1 (p88): 5.2.1 创建
p5-2-2 (p89): 5.2.2 读取
p5-2-3 (p90): 5.2.3 更新
p5-2-4 (p91): 5.2.4 删除
p5-3 (p91): 5.3 Java客户端API使用
p5-3-1 (p91): 5.3.1 创建会话
p5-3-2 (p95): 5.3.2 创建节点
p5-3-3 (p99): 5.3.3 删除节点
p5-3-4 (p100): 5.3.4 读取数据
p5-3-5 (p109): 5.3.5 更新数据
p5-3-6 (p113): 5.3.6 检测节点是否存在
p5-3-7 (p115): 5.3.7 权限控制
p5-4 (p120): 5.4 开源客户端
p5-4-1 (p120): 5.4.1 ZkClient
p5-4-2 (p130): 5.4.2 Curator
p5-5 (p162): 小结
p6 (p163): 第6章 ZooKeeper的典型应用场景
p6-1 (p163): 6.1 典型应用场景及实现注
p6-1-1 (p164): 6.1.1 数据发布/订阅
p6-1-2 (p166): 6.1.2 负载均衡
p6-1-3 (p170): 6.1.3 命名服务
p6-1-4 (p173): 6.1.4 分布式协调/通知
p6-1-5 (p179): 6.1.5 集群管理
p6-1-6 (p185): 6.1.6 Master选举
p6-1-7 (p188): 6.1.7 分布式锁
p6-1-8 (p194): 6.1.8 分布式队列
p6-1-9 (p197): 小结
p6-2 (p197): 6.2 ZooKeeper在大型分布式系统中的应用
p6-2-1 (p198): 6.2.1 Hadoop
p6-2-2 (p203): 6.2.2 HBase
p6-2-3 (p207): 6.2.3 Kafka
p6-3 (p213): 6.3 ZooKeeper在阿里巴巴的实践与应用
p6-3-1 (p213): 6.3.1 案例一 消息中间件:Metamorphosis
p6-3-2 (p217): 6.3.2 案例二 RPC服务框架:Dubbo
p6-3-3 (p219): 6.3.3 案例三 基于MySQLBinlog的增量订阅和消费组件:Canal
p6-3-4 (p223): 6.3.4 案例四 分布式数据库同步系统:Otter
p6-3-5 (p226): 6.3.5 案例五 轻量级分布式通用搜索平台:终搜
p6-3-6 (p238): 6.3.6 案例六 实时计算引擎:JStorm
p6-4 (p242): 小结
p7 (p243): 第7章 ZOOKeeper技术内幕
p7-1 (p243): 7.1 系统模型
p7-1-1 (p243): 7.1.1 数据模型
p7-1-2 (p244): 7.1.2 节点特性
p7-1-3 (p246): 7.1.3 版本——保证分布式数据原子性操作
p7-1-4 (p249): 7.1.4 Watcher——数据变更的通知
p7-1-5 (p265): 7.1.5 ACL——保障数据的安全
p7-2 (p272): 7.2 序列化与协议
p7-2-1 (p272): 7.2.1 Jute介绍
p7-2-2 (p273): 7.2.2 使用Jute进行序列化
p7-2-3 (p275): 7.2.3 深入Jute
p7-2-4 (p277): 7.2.4 通信协议
p7-3 (p284): 7.3 客户端
p7-3-1 (p286): 7.3.1 一次会话的创建过程
p7-3-2 (p289): 7.3.2 服务器地址列表
p7-3-3 (p295): 7.3.3 ClientCnxn:网络I/O
p7-4 (p298): 7.4 会话
p7-4-1 (p298): 7.4.1 会话状态
p7-4-2 (p299): 7.4.2 会话创建
p7-4-3 (p304): 7.4.3 会话管理
p7-4-4 (p307): 7.4.4 会话清理
p7-4-5 (p309): 7.4.5 重连
p7-5 (p311): 7.5 服务器启动
p7-5-1 (p312): 7.5.1 单机版服务器启动
p7-5-2 (p315): 7.5.2 集群版服务器启动
p7-6 (p321): 7.6 Leader选举
p7-6-1 (p321): 7.6.1 Leader选举概述
p7-6-2 (p323): 7.6.2 Leader选举的算法分析
p7-6-3 (p328): 7.6.3 Leader选举的实现细节
p7-7 (p335): 7.7 各服务器角色介绍
p7-7-1 (p335): 7.7.1 Leader
p7-7-2 (p338): 7.7.2 Follower
p7-7-3 (p339): 7.7.3 Observer
p7-7-4 (p339): 7.7.4 集群间消息通信
p7-8 (p342): 7.8 请求处理
p7-8-1 (p343): 7.8.1 会话创建请求
p7-8-2 (p351): 7.8.2 SetData请求
p7-8-3 (p354): 7.8.3 事务请求转发
p7-8-4 (p355): 7.8.4 GetData请求
p7-9 (p356): 7.9 数据与存储
p7-9-1 (p356): 7.9.1 内存数据
p7-9-2 (p358): 7.9.2 事务日志
p7-9-3 (p364): 7.9.3 snapshot——数据快照
p7-9-4 (p368): 7.9.4 初始化
p7-9-5 (p372): 7.9.5 数据同步
p7-10 (p376): 小结
p8 (p379): 第8章 ZooKeeper运维
p8-1 (p379): 8.1 配置详解
p8-1-1 (p379): 8.1.1 基本配置
p8-1-2 (p380): 8.1.2 高级配置
p8-2 (p384): 8.2 四字命令
p8-3 (p390): 8.3 JMX
p8-3-1 (p390): 8.3.1 开启远程JMX
p8-3-2 (p391): 8.3.2 通过JConsole连接ZooKeeper
p8-4 (p397): 8.4 监控
p8-4-1 (p397): 8.4.1 实时监控
p8-4-2 (p398): 8.4.2 数据统计
p8-5 (p398): 8.5 构建一个高可用的集群
p8-5-1 (p398): 8.5.1 集群组成
p8-5-2 (p399): 8.5.2 容灾
p8-5-3 (p402): 8.5.3 扩容与缩容
p8-6 (p402): 8.6 日常运维
p8-6-1 (p402): 8.6.1 数据与日志管理
p8-6-2 (p404): 8.6.2 Too many connections
p8-6-3 (p405): 8.6.3 磁盘管理
p8-7 (p405): 小结
p9 (p406): 附录A Windows平台上部署ZooKeeper
p10 (p409): 附录B 从源代码开始构建
p11 (p414): 附录C 各发行版本重大更新记录
p12 (p418): 附录D ZooKeeper源代码阅读指引
元数据中的注释
Type: 当代图书
元数据中的注释
Type: modern
开源日期
2021-11-08
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #9 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:JDownloader -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.