大规模分布式系统架构与设计实战(含光盘)

出版社:机械工业出版社
出版日期:2014-3
ISBN:9787111455035
作者:彭渊

内容概要

彭渊 资深架构师,现任华为企业中间件首席架构师,主要负责中间件和大数据。前淘宝高级专家(花名:千峰),先后在淘宝交易、淘宝中间件、集团核心系统、阿里金融等部门工作。曾任金蝶总体架构部SOA架构师,负责设计ESB。曾艰苦创业,编写和销售财务软件。在Java技术领域从业十多年,撰写过多款开源软件,其中,淘宝分布式技术框架Fourinone为其代表作。他拥有软件著作权的代表作有:BS系列软件(包括财务进销存、OA产品、CRM等)、FMS视频会议、Flash网站生成软件(华军可下载),所有软件作品均贡献99%代码。

书籍目录

前 言
第1章概述
1
1.1分布式计算、并行计算、云计算概述
1
1.2分布式产品Hadoop、ZooKeeper、HBase概述
6
1.3Fourinone的产生背景
12
第2章分布式并行计算的原理与实践
14
2.1分布式并行计算模式
14
2.1.1最初想到的master-slave结构
14
2.1.2“包工头-职介所-手工仓库-工人”模式
15
2.1.3基于消息中枢的计算模式
17
2.1.4基于网状直接交互的计算模式
18
2.1.5并行结合串行模式
22
2.1.6包工头内部批量多阶段处理模式
23
2.1.7计算集群模式和兼容遗留计算系统
24
2.1.8工人计算的服务化模式
26
2.2跟Hadoop的区别
28
2.3关于分布式的一些概念与产品
30
2.4配置文件和核心API介绍
35
2.5实践与应用
36
2.5.1一个简单的示例
36
2.5.2工头工人计算模式更完整的示例
39
2.5.3工人合并互相say hello的示例
44
2.5.4 实现Hadoop经典实例Word Count
48
2.5.5分布式多机部署的示例
52
2.5.6分布式计算自动部署的示例
53
2.5.7计算过程中的故障和容灾处理
57
2.5.8计算过程中的相关时间属性设置
60
2.5.9如何在一台计算机上一次性启动多个进程
63
2.5.10如何调用C/C++程序实现
68
2.5.11如何中止工人计算和超时中止
68
2.5.12使用并行计算大幅提升递归算法效率
73
2.5.13使用并行计算求圆周率π
81
2.5.14从赌钱游戏看PageRank算法
86
2.5.15使用并行计算实现上亿排序
96
2.5.16工人服务化模式应用示例
104
2.6实时流计算
107
第3章分布式协调的实现
111
3.1协调架构原理简介
111
3.2核心API
113
3.3权限机制
115
3.4相对于ZooKeeper的区别
116
3.5与Paxos算法的区别
117
3.6实践与应用
119
3.6.1如何实现公共配置管理
119
3.6.2如何实现分布式锁
126
3.6.3如何实现集群管理
129
3.6.4多节点权限操作示例
134
3.6.5领导者选举相关属性设置
137
第4章分布式缓存的实现
139
4.1小型网站或企业应用的缓存实现架构
139
4.2大型分布式缓存系统实现过程
140
4.3一致性哈希算法的原理、改进和实现
147
4.4解决任意扩容的问题
152
4.5解决扩容后数据均匀的问题
153
4.6分布式Session的架构设计和实现
154
4.7缓存容量的相关属性设置
156
4.8缓存清空的相关属性设置
158
第5章消息队列的实现
162
5.1闲话中间件与MQ
162
5.2JMS的两种经典模式
163
5.3如何实现发送接收的队列模式
164
5.4如何实现主题订阅模式
168
第6章分布式文件系统的实现
173
6.1FTTP架构原理解析
174
6.2搭建配置FttpAdapter环境
177
6.3访问集群文件根目录
179
6.4访问和操作远程文件
181
6.5集群内文件复制和并行复制
184
6.6读写远程文件
187
6.7解析远程文件
189
6.8并行读写远程文件
191
6.9批量并行读写远程文件和事务补偿处理
194
6.10如何进行整型读写
198
6.11基于整型读写的上亿排序
205
第7章分布式作业调度平台的实现
219
7.1调度平台的设计与实现
219
7.2资源隔离的实现
224
7.3资源调度算法
226
7.4其他作业调度平台简介
227
7.4.1其他MPI作业资源调度技术
227
7.4.2Mesos和Yarn简介
229

作者简介

【编辑推荐】

绝技源于江湖、将军发于卒伍,本书包含作者从程序员到首席架构师十多年职业生涯所积累的实战经验。

这不是一本讲怎么使用Hadoop的书,而是一本讲实现Hadoop功能的书,本书系统讲解构建大规模分布式系统的核心技术和实现方法,包含开源的代码,手把手教你掌握分布式技术
【内容简介】
本书从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用,从而获取强大计算能力去解决复杂问题。一般互联网企业的分布式存储计算系统都是个大平台,系统复杂、代码庞大,而且只适合公司的业务,工程师很难下载安装到自己的电脑里学习和吃透。本书对分布式核心技术进行了大量归纳和总结,并从中抽取出一套简化的框架和编程API进行讲解,方便工程师了解分布式系统的主要技术实现。这不是一本空谈概念、四处摘抄的书,这本书包含了大量精炼示例,手把手教你掌握分布式核心技术。
本书主要内容

分布式并行计算的基本原理解剖;

分布式协调的实现,包括如何实现公共配置管理,如何实现分布式锁,如何实现集群管理等;

分布式缓存的实现,包括如何提供完整的分布式缓存来利用多机内存能力;

消息队列的实现,包括如何实现发送和接收模式;

分布式文件系统的实现,包括如何像操作本地文件一样操作远程文件,并利用多机硬盘存储能力;

分布式作业调度平台的实现,包括资源隔离、资源调度等。
【参考阅读】
978-7-111-43052-0 大规模分布式存储系统:原理解析与架构实战
978-7-111-40392-0 分布式系统:概念与设计(原书第5版)
978-7-111-45244-7 Hadoop应用开发技术详解
978-7-111-41766-8 Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理
978-7-111-42226-6 Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
978-7-111-44534-0 Hadoop技术内幕:深入解析YARN架构设计与实现原理
978-7-111-43514-3 网站数据分析:数据驱动的网站管理、优化和运营
978-7-111-42591-5 数据挖掘:实用案例分析


 大规模分布式系统架构与设计实战(含光盘)下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计5条)

  •     介绍了four-in-one的用法。看完了没啥收获。代码质量也不咋地,没有一行注释。书名和内容感觉不符,封面却采用了和另一本有名的书一样的封面,感觉有欺诈嫌疑,就200多页,价格倒比类似的书贵出不少。
  •     fourinone号称了集成了hadoop,zk,memcache,mq于一身的四不像超级神器,致力于分布式应用。别的我不懂,今儿聊一下fourinone中的分布式缓存以及分布式文件系统,说到分布式,不得不用到网络通讯,不得不提及RPC,fourinone号称只有100多K,不依赖任何第三方jar,那通讯怎么玩啊!自己用socket或者NIO实现,要知道用NIO实现一个网络通讯框架是很考验技术功底,淘宝的boyan曾经有一篇ppt介绍过NIO的trap和trick.作者当然是绕开这些,使用JDK自带的RMI,RMI这项技术有点老了,我看过JDK的实现还是采用BIO,one request per one thread的方式,序列化采用JDK本身的序列化,性能我不好做评价,因为我没有用过。好了回归主题,说一说分布式缓存,主流的分布式缓存我们知道用memcached、redis这两个都很出色,fourinone的分布式缓存类似memcached,只支持kv存储。那他是怎么是实现呢?说到kv存储,HashMap是不二之选,对4in1应该也是用的LinkedHashMap,LinkedHashMap,用额外的链表记录访问顺序,LinkedHashMap提供了一个接口removeEldestEntry,使在插入时有机会删除那些最近不活跃的entry,ok继续,分布式缓存,那网络通讯怎么玩的呢?当然是我们前面提到的RMI。至此了解了分布式缓存的实现,简单吧!我相信各位看官看了我的描述自己也能实现了一个自己把玩一下。继续,说一下这样做的问题,分布式系统几乎是为了高并发而设计的,memcache,redis都是这样。HashMap在高并发下又会怎么样呢?我想你此时脑子里会出现一个场景,这是一个坑,HashMap不是线程安全的,在并发情况下扩容会导致死循环从而导致cpu100%。不了解的可以在coolshell上搜一下,或者问度,这是个致命的问题,我不知道作者是怎么解决的,同步加锁,我没有看到sync,用concurrenthashmap貌似也没用吧。因为concurrenthashmap虽然是线程安全的,但是却没有LRU的功能,如果真要实现,得整合Linkedhashmap和concurrenthashmap的功能于一身,淘宝的人这样做过。再来说一下网络通讯,memcached和redis不约而同的使用非阻塞IO epoll,前者使用libevent,redis在libv的肩膀上简化了轮子。我就不用BIO的RMI了。说到分布式文件,你会想到那些HDFS,GFS,TFS等等还有好多,还是回到4in1中的fttp,网络通讯怎么玩的呢?fttp,http名字一个字母之差,会不会是http啊,恭喜你猜对了,这时你可能要怀疑,http client好办我用httpurlconnection就可以解决,那http server呢作者内嵌jetty,作者可是号称不依赖任何第三方jar啊难道自己实现一个http server?小伙伴们我们又错了,作者很高端,采用JDK6以后自带的httpserver,关于这个httpserver。这样就可以通过http上传下载文件了,那你说我用jetty和httpclient分分钟就可以分布式文件了,优越感油然而生,信心瞬间爆棚!首先说一下httpserver我读了一下代码,感觉类似还是比较粗放,和Netty没发比,Selector的使用,为了不影响accept事件的阻塞,读写事件都注册到另外一个selector上处理,这样每一个request就会有一个selector,当然作者也才了selector池的处理,使之能够重复使用,但高并发下还是会有很多的selector,而且也会带池的锁开销,再说一下内存管理,每个request都会创建一个buffer,并没有实现内存的管理,这块很粗放,在高并发时GC负担一定很大,感兴趣的小伙伴可以看看netty的实现,作者写过一篇blog说用一个类似伙伴系统和slab内存管理相结合的内存管理方案减少GC。这些且不表,你用过必须制定host以及文件目录的分布式文件系统吗,读写文件时,必须清楚地知道文件在那台机器的那个目录下,orz,这样就要崩溃了聊了这么多,小伙伴们也可能觉得我对4in1有偏见,其实不然,我只是觉得作者把这些类似玩具的东东开源并推广给大家,并号称分布式,有时也冠以淘宝的名号,大家都知道淘宝在国内开源的影响,小伙伴们很容易会从盲从,特别是不了解分布式想向分布式方面发展学习的小伙伴们,请大家要一定要擦亮眼睛啊。国内开源的分布式不多,讲分布式的书也不多,就那么几本,在此向大家推荐杨传辉的那本书《大规模分布式存储》,书中对主流的分布式kv,分布式文件系统,分布式表格数据库等都有详细的介绍。我曾经加到4in1的qq群,问了一句“4in1在淘宝那些场景下用到了,好的项目是经得起质疑的,实践是检验真理的唯一标准”结果我被踢出了群,在OSC以及ITEYE也看到一些同学问道了相同的问题,结果也是同样的下场,我不禁要问,作者是抱着什么样的态度开源呢,是跟大家分享,给大家带来便利,还是忽悠,然后写书忽悠?4in1中的并行计算,hadoop没研究过不懂,本文只针对分布式缓存和分布式文件系统
  •     本书是阿里前辈的著作,我在火车上一路读完。总体感觉是能见到作者的功底和学识,但没有将其全部分享出来。书还是有点薄,虽然可以拓宽眼界和思路,沥青纷杂的大数据产品的实质,但若想深入了解内涵,还得多学习FourInOne这个产品。

精彩短评 (总计23条)

  •     fourinone手册
  •     为什么没有负分
  •     简单易懂,示例代码非常清晰。
  •     看不懂,我无能。
  •     介绍了four-in-one的用法。看完了没啥收获。代码质量也不咋地,没有一行注释。书名和内容感觉不符,封面却采用了和另一本有名的书一样的封面,感觉有欺诈嫌疑。
  •     作者太牛逼了……光芒掩盖万物
  •     跟Oceanbase的team就差那么一步了。。可恨的HR 。。。
  •     翻着看了看 这本书写的有点儿扯啊 太杂的 每章都能单独成书 然后…… 没有然后了
  •      卧槽,大概浏览了一下,这人tmd的牛逼了,完爆哪些外国佬啊,可以刷爆图灵奖了吧,蛤蛤 另外我想知道这么牛逼的人现在在那个公司,以后躲着点儿,免得被碾压。
  •     是很不严肃的一本书。质量低劣。
  •     就讲了讲那个Fourinone怎么用,啥鸡巴玩意儿
  •     不如叫Fourinone Guide Book
  •     该书的1.3节与杨传辉的《大规模分布式存储系统:原理解析与架构实战》1.3雷同。。
  •     地铁上花一周多时间看完的,只看了一些分布式设计思想,其他的略过,比较一般的书
  •     看了评论, 果然是英雄所见略同的烂
  •     我自己看了看,感觉乱七八糟的,还什么包工头模式,到豆瓣一看评分果然是烂书
  •     没见过这么烂的
  •     确实不怎么滴啊 ~
  •     很快就看完了,算一本 fourinone 的推广手册
  •     不错的药引子
  •     简单看了一下,内容和书的标题都不太能对的上,书中重点内容就是fourinone的介绍,可能怕起这个标题没人买了吧,内容小众,不适合入门。其实我最想说的是,好坑啊
  •     几页纸讲实现原理,剩下的全是demo代码
  •     作者开发的fourinone分布式工具的介绍材料,但是fourinone没有100%开源,所以这本书的价值就是说明一下作者有多牛B。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024