本篇是作者从程序员到首席架构师十多年职业生涯的实战经验总结,系统讲解构建大规模分布式系统的核心技术与实现方法,包含作者开源的Fourinone系统的设计与实现过程,手把手教你掌握分布式技术。通过学习这个系统的实现方法与相关的理论,读者可快速掌握分布式系统的理论并设计自己的分布式系统。
本篇从分布式计算的基本概念开始,解剖了众多流行概念的本质,深入讲解分布式系统的基本原理与实现方式,包括master-slave结构、消息中枢模式、网状直接交互模式、并行结合申行模式等,以及Fourinone系统的架构、实现分布式功能的示例。
接下来详细介绍分布式协调、分布式缓存、消息队列、分布式文件系统、分布式作业调度平台的设计与实现方法,不仅包括详细的架构原理,算法,还给出了实现步骤,核心API、实现代码。随书附带的光盘包括书中示例代码以及Fourinone 系统源代码。
全篇分为7章,总共299页的内容,由于细节内容实在是太多了,小编只把部分知识点截图出来粗略的介绍一下,每个小节都有更加细化的内容,大家要用心慢慢去揣摩。
第1章,概述
在概述分布式核心技术之前,我们有必要先概括阐述一- 下分布式计算、并行计算、云计算等相关概念,以及市场上流行的相关技术产品,如Hadoop生态体系,然后再结合背景引出我们为什么要归纳出一个轻量级的分布式框架。本章为后续章节的背景。本章意在使读者对分布式技术话题的前因后果先有所了解。
由于只是概述,我们对涉及的分布式计算概念和Hadoop生态体系只是蜻蜓点水地带过,目的仅是让读者了解到这些内容大致是什么。
第2章,分布式并行计算的原理与实践
本章首先讲述分布式并行计算的各种设计模式和原理机制,并进一步说明Fourinone与市场上其他并行计算产品和技术的区别,最后手把手演示大量并行计算案例。
本章讲述的分布式并行计算思想、模式、技巧、实现,与编程语言无关,读者可以用多台计算机来尝试编程。
第3章,分布式协调的实现
分布式协调是分布式应用中不可缺少的,通常会设立专门的协调者角色,即将多机协调的职责从分布式应用中独立出来,以减少系统的耦合性和增强可扩展性。Apache的ZooKeeper、Google的Chubby都是分布式协调的实现者。Fourinone实际上可以单独当做ZooKeeper用,它使用最少的代码实现了ZooKeeper的所有功能,并且力图做到功能更强、使用更简洁。
本章会从设计角度讲述分布式协调系统的实现原理,包括归纳出的API介绍,权限机制介绍,并详细阐述了在领导者选举机制上和Paxos算法的区别,最后再结合实践中的统一配置和集群管理等应用讲解demo,让读者有更直观的体会。
第4章,分布式缓存的实现
本章讲述小型缓存、大型分布式缓存的原理和实现机制,并且讲述经典的一致哈希算法原理,以及改进的基于H期key取模和分组算法去做集群负载均衡和扩容,最后讲述一个分布式Session的实现案例,以及相关的配置属性。
第5章,消息队列的实现
本章讲述了中间件和消息队列(MQ)的发展史JMS规范定义的发送/接收、主题订阅两种经典消息服务模式的机制原理,并详细举例说明如何在Fourinone中实现这两种经典模式。
第6章,分布式文件系统的实现
本章讲述如何使用FTTP去实现-一个分布式文件系统,包括FTTP的架构原理和远程文件各种方式的访问和操作,以及整型数据处理等,包含了每一- 步的具体操作,可帮助入门的读者快速上手。
第7章,分布式作业调度平台的实现
在前面第2章介绍的分布式并行计算原理中,我们看到可以将工头工人程序部署到不同的机器上运行,然后完成计算。但是, .当这样的并行计算应用非常多,而我们的机器数量有限时,我们需要排队依次来使用机器,第-一个并行计算应用跑完了,再跑第二个应用,如果第一个并行计算应用只占部分机器,那么可以考虑同时跑第二个应用....这就涉及建立-一个作业调度平台去完成。
我们知道Hadoop本身包含了作业调度的部分,按照Hadoop开发规范,开发好一一个作业,打包后,Hadoop 会分发到相应的机器上去运行,但是实际上这仅仅是-种任务调度层面的实现,我们还需要资源层面的调度,比如对CPU、内存、带宽等的分配和管理。
本章会讲述调度平台的设计和实现,包括任务调度和资源调度的实现机制,各种资源调度算法,并以MPI调度器的为例讲述一个完整Demo,最后再讲述市场上常用的调度实现和框架,比如Torque、Mesos、Yarn等。
由于文章篇幅限制,小编这里就不做更多的介绍了,需要本‘大规模分布式系统架构与设计实战’技术文档的小伙伴就可以转发关注一下小编++++++ V x ①⑧①③③⑤③②⑨⑦ 就可以获取了!
本篇从作者的实战经验出发,深入浅出地讲解了如何建立一个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统一利用, 从而获取强大计算能力去解决复杂问题。-一般互联网企业的分布式存储计算系统都是个大平台,系统复杂、代码庞大,而且只适合公司的业务,工程师很难下载安装到自己的电脑里学习和吃透。
本篇对分布式核心技术进行了大量归纳和总结,并从中抽取出一套简化的框架和编程API进行讲解,方便工程师了解分布式系统的主要技术实现。这不是一本空谈概念、 四处摘抄的,本篇包含了大量精炼示例,手把手教你掌握分布式核心技术。
本篇主要内容
分 布式并行计算的基本原理解剖;
分布式协调的实现, 包括如何实现公共配置管理,如何实现分布式锁,如何实现集群管理等;
分布式缓存的实现,包括如何提供完整的分布式缓存来利用多机内存能力;
消息队列的实现, 包括如何实现发送和接收模式;
分布式文件 系统的实现,包括如何像操作本地文件一样操作远程文件, 并利用多机硬盘存储能力;
分布式作业调度平台的实现,包括资源隔离、资源调度等。
大家加油吧!
网友评论