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

从Paxos到Zookeeper分布式一致性原理与实践 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
倪超 著

下载链接在页面底部
点击这里下载
    


想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-26

图书介绍


出版社: 电子工业出版社
ISBN:9787121249679
版次:1
商品编码:11622772
品牌:Broadview
包装:平装
开本:16开
出版时间:2015-02-01
用纸:胶版纸
页数:420
正文语种:中文


类似图书 点击查看全场最低价

相关图书





图书描述

编辑推荐

  

  国内罕见系统讲解ZooKeeper这一应用广泛、成熟的分布式协调框架之技术书。

  原理深入,阐述清晰,覆盖ACID、CAP、BASE,二阶段/三阶段提交,Paxos、ZAB协议等热门话题。

  彻底剖析分布式一致性问题,并给出相应系统思路,以及完整解决方案及实战参考。

  无论开发人员,还是运维人士,都可通过书中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及其相关技术有非常深入的研究。目前在中间件团队专家组任职产品经理,负责分布式产品的产品化和云计算化改造工作。

内页插图

精彩书评

  

  ★感谢软件开源和知识开源,新浪爱彩利用各开源软件和算法,构建了核心交易系统和分布式中间件系统:利用ZooKeeper 构建了分布式 ID 生成器、分布式单例控制器、Dubbo RPC 框架,以及基于 Hadoop/JStorm/Spark 体系的业务系统,等等。ZooKeeper 的稳定性和对一致性的保证一直为业界所称道,在大量的分布式系统和开源组件中得到应用。本书是作者在长期使用 ZooKeeper 后深入研究其算法原理和源代码的总结,将对读者在分布式一致性的理论学习与实践上有启发意义。

  ——新浪爱彩首席架构师 周锋


  
  ★分布式一致性是中国银联风控系统架构与设计的重要目标,新一代的银联反洗钱交易实时分析系统采用 Storm 进行大数据的实时计算,ZooKeeper 作为 Storm 的重要组成部分,为数据一致性提供了关键保障。本书深入浅出地描述了分布式一致性这一问题的由来,并对 ZooKeeper 在 Storm、Hadoop 和 HBase 等大型分布式系统中的应用场景进行了详尽介绍,针对 ZooKeeper在分布式系统中的业务实践与运维保障提供了重要参考。

  ——中国银联反洗钱系统核心负责人 罗科勤


  
  ★分布式地理信息系统的研发挑战主要在于它的地理信息共享和分布式协调操作,ZooKeeper 作为一个针对大型分布式系统的高可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步和组服务等,正好能够解决地信系统中的诸多分布式一致性问题。该书兼顾分布式一致性的理论和实践,并重点讲解了 ZooKeeper,适合不同层次的读者阅读。

  ——浙江省测绘局地信系统设计师 王浩烽


  
  ★腾讯在 2010 年启动建设开放云平台时,面临着海量第三方虚拟机之间访问限制规则以及内网透明负载均衡配置的管理等问题。引入 ZooKeeper 之后,一直稳定运行至今,利用其发布订阅特性很好地保证了规则数据和配置信息的一致性,确保了服务的可用性。本书从分布式一致性理论出发,再以ZooKeeper 系统为例详尽地介绍了这个开源系统的架构与实现,并结合实际的应用场景和运维经验为在实战中面临分布式问题的读者提供了重要参考。

  ——腾讯企业级产品中心架构师 陈盛龙


  
  ★一致性是计算机学科中“硬”和重要的问题之一,可见写这样一个主题挑战之大。阿里巴巴业务庞大,倪超之前维护的为整个集团提供一致性方案的 ZooKeeper 集群,场景之复杂、规模之大在国内甚至世界上都可能是罕见的。本人由于工作需要对 Paxos 和 ZooKeeper 进行了粗浅的学习,所以有机会和倪超有过这方面的交流,乐自不言,获益彼多。本书兼顾理论与实践,希望让读者读完之后有所提升:使用上知其所以然,架构上能选择出合适又低成本的方案。

  ——阿里巴巴 Dubbo 框架、PaaS 平台资深架构师 & 核心开发 李鼎


  
  ★在我的工作经历中,有多次与分布式系统的配置管理中心打过交道,比如之前在老东家阿里巴巴负责 HSF 服务框架,以及最近在陌陌负责的 MOA 服务框架的工作。基于简单可用的原则,这些场景都没有选择使用 ZooKeeper,而是自己实现了配置管理系统。但最近在参与分布式缓存服务建设的过程中,我们发现已经无法再绕开分布式协调问题,这时,ZooKeeper作为行业的成熟实践就成了我们的优选。这本书的作者倪超是我在阿里的同事,一直从事着与 ZooKeeper 相关的工作 在这个领域积累了丰富的经验。本书从理论、设计实现和应用场景等多个方面对 ZooKeeper 进行了深入介绍,非常值得一读。

  ——陌陌基础平台部主管 宓学强


  
  ★搜狐从 2009 年微博时代初期就利用 ZooKeeper 的发布与订阅模型实现了对 CDN URL 和一些基本管理配置的动态加载。至今 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源代码阅读指引












精彩书摘

  第1章  分布式架构  随着计算机系统规模变得越来越大,将所有的业务单元集中部署在一个或若干个大型机上的体系结构,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出现,越来越多廉价的PC机成为了各大企业IT架构的首选,分布式的处理方式越来越受到业界的青睐——计算机系统正在经历一场前所未有的从集中式向分布式架构的变革。  1.1 从集中式到分布式  自20世纪60年代大型主机被发明出来以后,凭借其超强的计算和I/O处理能力以及在稳定性和安全性方面的卓越表现,在很长一段时间内,大型主机引领了计算机行业以及商业计算领域的发展。在大型主机的研发上最知名的当属IBM,其主导研发的革命性产品System/360系列大型主机,是计算机发展史上的一个里程碑,与波音707和福特T型车齐名,被誉为20世纪最重要的三大商业成就,并一度成为了大型主机的代名词。从那时起,IT界进入了大型主机时代。  伴随着大型主机时代的到来,集中式的计算机系统架构也成为了主流。在那个时候,由于大型主机卓越的性能和良好的稳定性,其在单机处理能力方面的优势非常明显,使得IT系统快速进入了集中式处理阶段,其对应的计算机系统称为集中式系统。但从20世纪80年代以来,计算机系统向网络化和微型化的发展日趋明显,传统的集中式处理模式越来越不能适应人们的需求。  首先,大型主机的人才培养成本非常之高。通常一台大型主机汇集了大量精密的计算机组件,操作非常复杂,这对一个运维人员掌握其技术细节提出了非常高的要求。  其次,大型主机也是非常昂贵的。通常一台配置较好的IBM大型主机,其售价可能在上百万美元甚至更高,因此也只有像政府、金融和电信等企业才有能力采购大型主机。  另外,集中式系统具有明显的单点问题。大型主机虽然在性能和稳定性方面表现卓越,但这并不代表其永远不会出现故障。一旦一台大型主机出现了故障,那么整个系统将处于不可用状态,其后果相当严重。最后,随着业务的不断发展,用户访问量迅速提高,计算机系统的规模也在不断扩大,在单一大型主机上进行系统的扩容往往比较困难。  而另一方面,随着PC机性能的不断提升和网络技术的快速普及,大型主机的市场份额变得越来越小,很多企业开始放弃原来的大型主机,而改用小型机和普通PC服务器来搭建分布式的计算机系统。  其中最为典型的就是阿里巴巴集团的“去IOE”运动。从2008年开始,阿里巴巴的各项业务都进入了井喷式的发展阶段,这对于后台IT系统的计算与存储能力提出了非常高的要求,一味地针对小型机和高端存储进行不断扩容,无疑会产生巨大的成本。同时,集中式的系统架构体系也存在诸多单点问题,完全无法满足互联网应用爆炸式的发展需求。因此,为了解决业务快速发展给IT系统带来的巨大挑战,从2009年开始,阿里集团启动了“去IOE”计划,其电商系统开始正式迈入分布式系统时代。  1.1.1 集中式的特点  所谓的集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。也就是说,在集中式系统中,每个终端或客户端机器仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。  集中式系统最大的特点就是部署结构简单。由于集中式系统往往基于底层性能卓越的大型主机,因此无须考虑如何对服务进行多个节点的部署,也就不用考虑多个节点之间的分布式协作问题。  1.1.2 分布式的特点  在《分布式系统概念与设计》注 一书中,对分布式系统做了如下定义:  分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。  上面这个简单的定义涵盖了几乎所有有效地部署了网络化计算机的系统。严格地讲,同一个分布式系统中的计算机在空间部署上是可以随意分布的,这些计算机可能被放在不同的机柜上,也可能在不同的机房中,甚至分布在不同的城市。无论如何,一个标准的分布式系统在没有任何特定业务逻辑约束的情况下,都会有如下几个特征。  分布性  分布式系统中的多台计算机都会在空间上随意分布,同时,机器的分布情况也会随时变动。  对等性  分布式系统中的计算机没有主/从之分,既没有控制整个系统的主机,也没有被控制的从机,组成分布式系统的所有计算机节点都是对等的。副本(Replica)是分布式系统最常见的概念之一,指的是分布式系统对数据和服务提供的一种冗余方式。在常见的分布式系统中,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理。数据副本是指在不同的节点上持久化同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题最为有效的手段。另一类副本是服务副本,指多个节点提供同样的服务,每个节点都有能力接收来自外部的请求并进行相应的处理。  并发性  在“问题的提出”部分,我们已经提到过与“更新的并发性”相关的内容。在一个计算机网络中,程序运行过程中的并发性操作是非常常见的行为,例如同一个分布式系统中的多个节点,可能会并发地操作一些共享的资源,诸如数据库或分布式存储等,如何准确并高效地协调分布式并发操作也成为了分布式系统架构与设计中最大的挑战之一。  缺乏全局时钟  在上面的讲解中,我们已经了解到,一个典型的分布式系统是由一系列在空间上随意分布的多个进程组成的,具有明显的分布性,这些进程之间通过交换消息来进行相互通信。因此,在分布式系统中,很难定义两个事件究竟谁先谁后,原因就是因为分布式系统缺乏一个全局的时钟序列控制。关于分布式系统的时钟和事件顺序,在Leslie Lamport注 的经典论文Time, Clocks, and the Ordering of Events in a Distributed System注 中已经做了非常深刻的讲解。  故障总是会发生  组成分布式系统的所有计算机,都有可能发生任何形式的故障。一个被大量工程实践所检验过的黄金定理是:任何在设计阶段考虑到的异常情况,一定会在系统实际运行中发生,并且,在系统实际运行过程中还会遇到很多在设计时未能考虑到的异常故障。所以,除非需求指标允许,在系统设计时不能放过任何异常情况。  1.1.3 分布式环境的各种问题  分布式系统体系结构从其出现之初就伴随着诸多的难题和挑战,本节将向读者简要的介绍分布式环境中一些典型的问题。  通信异常  从集中式向分布式演变的过程中,必然引入了网络因素,而由于网络本身的不可靠性,因此也引入了额外的问题。分布式系统需要在各个节点之间进行网络通信,因此每次网络通信都会伴随着网络不可用的风险,网络光纤、路由器或是DNS等硬件设备或是系统不可用都会导致最终分布式系统无法顺利完成一次网络通信。另外,即使分布式系统各节点之间的网络通信能够正常进行,其延时也会远大于单机操作。通常我们认为在现代计算机体系结构中,单机内 从Paxos到Zookeeper分布式一致性原理与实践 下载 mobi epub pdf txt 电子书 格式

从Paxos到Zookeeper分布式一致性原理与实践 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

从Paxos到Zookeeper分布式一致性原理与实践 下载 mobi pdf epub txt 电子书 格式 2024

从Paxos到Zookeeper分布式一致性原理与实践 下载 mobi epub pdf 电子书
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

程序员必备的书籍,面试必备,加油学习!

评分

很好。相信灵动,相信正品

评分

红红火火恍恍惚惚哈哈哈哈

评分

这次活动比较给力,先买了,之后再慢慢看

评分

还好好好好好还好好好还好还好还好还好还好还好好好还好好好

评分

国内对于网站监控类非常全面的指导实践书籍,各种指标参数解析的非常详尽,这不是一本操作书籍,更合适企业网站监控规划指导建议。

评分

很好!!!!!!!!!!!!!!!!!!!!!!!

评分

书挺不错,写的也挺专业,总体很满意,好评

评分

满不错的,讲的真好。

类似图书 点击查看全场最低价

从Paxos到Zookeeper分布式一致性原理与实践 mobi epub pdf txt 电子书 格式下载 2024


分享链接




相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.cndgn.com All Rights Reserved. 新城书站 版权所有