内容简介
《大规模分布式系统架构与设计实战》从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用,从而获取强大计算能力去解决复杂问题。一般互联网企业的分布式存储计算系统都是个大平台,系统复杂、代码庞大,而且只适合公司的业务,工程师很难下载安装到自己的电脑里学习和吃透。本书对分布式核心技术进行了大量归纳和总结,并从中抽取出一套简化的框架和编程API进行讲解,方便工程师了解分布式系统的主要技术实现。这不是一本空谈概念、四处摘抄的书,这本书包含了大量精炼示例,手把手教你掌握分布式核心技术。
本书主要内容
分布式并行计算的基本原理解剖;
分布式协调的实现,包括如何实现公共配置管理,如何实现分布式锁,如何实现集群管理等;
分布式缓存的实现,包括如何提供完整的分布式缓存来利用多机内存能力;
消息队列的实现,包括如何实现发送和接收模式;
分布式文件系统的实现,包括如何像操作本地文件一样操作远程文件,并利用多机硬盘存储能力;
分布式作业调度平台的实现,包括资源隔离、资源调度等。
目录
前 言
第1章概述
1.1分布式计算、并行计算、云计算概述
1.2分布式产品Hadoop、ZooKeeper、Hbase概述
1.3Fourinone的产生背景
第2章分布式并行计算的原理与实践
2.1分布式并行计算模式
2.1.1想到的master-slave结构
2.1.2“包工头-职介所-手工仓库-工人”模式
2.1.3基于消息中枢的计算模式
2.1.4基于网状直接交互的计算模式
2.1.5并行结合串行模式
2.1.6包工头内部批量多阶段处理模式
2.1.7计算集群模式和兼容遗留计算系统
2.1.8工人计算的服务化模式
2.2跟Hadoop的区别
2.3关于分布式的一些概念与产品
2.4配置文件和核心API介绍
2.5实践与应用
2.5.1一个简单的示例
2.5.2工头工人计算模式更完整的示例
2.5.3工人合并互相say hello的示例
2.5.4 实现Hadoop经典实例Word Count
2.5.5分布式多机部署的示例
2.5.6分布式计算自动部署的示例
2.5.7计算过程中的故障和容灾处理
2.5.8计算过程中的相关时间属性设置
2.5.9如何在一台计算机上一次性启动多个进程
2.5.10如何调用C/C++程序实现
2.5.11如何中止工人计算和超时中止
2.5.12使用并行计算大幅提升递归算法效率
2.5.13使用并行计算求圆周率π
2.5.14从赌钱游戏看PageRank算法
2.5.15使用并行计算实现上亿排序
2.5.16工人服务化模式应用示例
2.6实时流计算
第3章分布式协调的实现
3.1协调架构原理简介
3.2核心API
3.3权限机制
3.4相对于ZooKeeper的区别
3.5与Paxos算法的区别
3.6实践与应用
3.6.1如何实现公共配置管理
3.6.2如何实现分布式锁
3.6.3如何实现集群管理  
摘要与插图
前言在大数据、云计算如火如荼的今天,各类技术产品顺应潮流层出不穷。大家是不是有这种感觉:Hadoop还没学完,Storm就来了;Storm刚学会安装配置,Spark、Hama、Yarn等又一起出现了;同时国内外各大云平台厂商,如Google、亚马逊、阿里云等,还在推各自应用开发平台……要学习的东西太多了,就是这样疲于奔命地学,刚学会了某个产品的安装配置与开发步骤,没多久它又过时了。
这么多千姿百态的分布式技术和产品背后有没有某些共性的东西呢?能让我们换了马甲还能认出它,让我们超越学习每个产品的“安装配置开发”而掌握背后的精髓呢?有没有可能学一反三,学一招应万招,牢牢掌握好技术的船舵,穿越一次次颠覆性的技术浪潮?本书的目的就是为你揭示分布式技术的核心内幕,透彻理解其精髓,站在浪潮之巅。
因此,这不是一本讲如何使用Hadoop的书,而是一本讲实现Hadoop功能的书,是一本讲如何简化实现分布式技术核心功能的书。这不是一本空谈概念、四处摘抄的书,而是来源于作者十多年来在私企、港企、外包、创业、淘宝、华为等企业打拼,从底层程序员一路走到席架构师的实战经验总结。绝技源于江湖,将军发于卒伍,这本书讲的是你在课本上学不到核心技术,无论你是在中国什么样的IT企业做什么样的分布式应用,这本书对你都具备参考性。
本书面向千千万万战斗在一线攻城拔寨的程序员、工程师们,你可以有很多基础,也可以从头开始,本书尽量做到深入浅出和通俗易懂,希望帮助你降低分布式技术的学习成本,帮助你更容易完成工作任务,更轻松地挣钱。
本书根据分布式技术的主要应用,分别介绍分布式并行计算的基本概念、分布式协调、分布式缓存、消息队列、分布式文件系统、分布式作业调度平台等,详细阐述分布式各技术的架构原理和实现方式,并附带大量示例,便于读者实际操作运行。基于本书原理,作者用Java实现并开源了Fourinone框架,这是一个的分布式系统,归纳在150KB源码里,代码不到1万行,让你能够轻松掌握。学习开发核心技术的诀窍是多动手,建议读者运行本书附带的大量DEMO,在运行后细细体会分布式的理论,进行反思和总结。本书归纳的设计思想和算法不局限于某个框架,读者领会后可以用任何语言来实现自己的分布式系统。
本书各章有一定的独立性,阅读本书的方式比较自由,可以从头开始,也可以随性翻阅。从第2章开始,每章都有理论部分与示例,读者可以先运行DEMO,不清楚的地方再回看原理;也可以先看原理,再运行DEMO加深理解。由于时间的限制,且本书写作的时期是在作者忙碌和事业的转折时期,匆忙中,难免出错,请朋友们海涵,并提出意见以便于今后纠正。感谢机械出版社华章公司所有幕后编辑的大量工作,感谢所给予我帮助与支持的领导和朋友。