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

从Paxos到Zookeeper:分布式一致性原理与实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2015-02
版次: 1
ISBN: 9787121249679
定价: 75.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 420页
字数: 548千字
正文语种: 简体中文
360人买过
  •   《Paxos到Zookeeper 分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper。全书共8章,分为五部分:前一部分(第1章)主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID、CAP和BASE等经典分布式理论;第二部分(第2~4章)介绍了2PC、3PC和Paxos三种分布式一致性协议,并着重讲解了ZooKeeper中使用的一致性协议——ZAB协议;第三部分(第5~6章)介绍了ZooKeeper的使用方法,包括客户端API的使用以及对ZooKeeper服务的部署与运行,并结合真实的分布式应用场景,总结了ZooKeeper使用实践;第四部分(第7章)对ZooKeeper的架构设计和实现原理进行了深入分析,包含系统模型、Leader选举、客户端与服务端的工作原理、请求处理,以及服务器角色的工作流程和数据存储等;第五部分(第8章)介绍了ZooKeeper的运维实践,包括配置详解和监控管理等,重点讲解了如何构建一个高可用的ZooKeeper服务。   倪超,阿里巴巴集团高级研发工程师,国家认证系统分析师,毕业于杭州电子科技大学计算机系。2010年加入阿里巴巴中间件团队担任研发实习岗位,一直从事ZooKeeper的开发与运维工作,从中学习与总结了不少分布式一致性相关的理论与实践经验,尤其对ZooKeeper及其相关技术有非常深入的研究。目前在中间件团队专家组任职产品经理,负责分布式产品的产品化和云计算化改造工作。 第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的增量订阅和消费组件:Canal
    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源代码阅读指引
  • 内容简介:
      《Paxos到Zookeeper 分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper。全书共8章,分为五部分:前一部分(第1章)主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了ACID、CAP和BASE等经典分布式理论;第二部分(第2~4章)介绍了2PC、3PC和Paxos三种分布式一致性协议,并着重讲解了ZooKeeper中使用的一致性协议——ZAB协议;第三部分(第5~6章)介绍了ZooKeeper的使用方法,包括客户端API的使用以及对ZooKeeper服务的部署与运行,并结合真实的分布式应用场景,总结了ZooKeeper使用实践;第四部分(第7章)对ZooKeeper的架构设计和实现原理进行了深入分析,包含系统模型、Leader选举、客户端与服务端的工作原理、请求处理,以及服务器角色的工作流程和数据存储等;第五部分(第8章)介绍了ZooKeeper的运维实践,包括配置详解和监控管理等,重点讲解了如何构建一个高可用的ZooKeeper服务。
  • 作者简介:
      倪超,阿里巴巴集团高级研发工程师,国家认证系统分析师,毕业于杭州电子科技大学计算机系。2010年加入阿里巴巴中间件团队担任研发实习岗位,一直从事ZooKeeper的开发与运维工作,从中学习与总结了不少分布式一致性相关的理论与实践经验,尤其对ZooKeeper及其相关技术有非常深入的研究。目前在中间件团队专家组任职产品经理,负责分布式产品的产品化和云计算化改造工作。
  • 目录:
    第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的增量订阅和消费组件:Canal
    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源代码阅读指引
查看详情
相关图书 / 更多
从Paxos到Zookeeper:分布式一致性原理与实践
从PMP到卓越项目经理:项目管理实战技巧与案例解析(第2版)(修订版)
Wagner(特里·瓦格纳) 著;[美]Linda、Kretz、Zaval(琳达·克雷兹·扎瓦尔)、Terri、郑佃锋 译
从Paxos到Zookeeper:分布式一致性原理与实践
从PPT到Keynote:商业幻灯片设计指南
谷月 著
从Paxos到Zookeeper:分布式一致性原理与实践
从Python开始学编程
Vamei 著
从Paxos到Zookeeper:分布式一致性原理与实践
从Power BI 到 Power Platform 低代码应用开发实战
BI使徒工作室 雷元 陈桂健
从Paxos到Zookeeper:分布式一致性原理与实践
从PMP到卓越项目经理:项目管理实战技巧与案例解析(第2版)
[美]Linda Kretz(琳达.克雷兹.扎瓦尔)、Terri Wagner(特里.瓦格纳) 著;郑佃锋 译
从Paxos到Zookeeper:分布式一致性原理与实践
从Power BI到Analysis Services:企业级数据分析实战
BI使徒工作室 雷元 刘建晔
从Paxos到Zookeeper:分布式一致性原理与实践
从Primavera(P3e/c)学习项目管理
何丰 著
您可能感兴趣 / 更多
从Paxos到Zookeeper:分布式一致性原理与实践
《长恨歌》及李杨题材唐诗研究
倪超 著;付兴林