分布式系统浅析及学习路线

Posted linzhehuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式系统浅析及学习路线相关的知识,希望对你有一定的参考价值。

前言

昨天夜里,突然冒出来的想法,应该有规划性地学习分布式系统,带着目的及问题去学习。结合从寒假期间看的,大数据及分布式文章中的知识,加之自己的思考及想法,写下了这篇文章。

由于笔者对分布式系统研究水平尚处入门,文章着笔较浅,并希望此文能抛砖引玉,同时欢迎读者勘误及指教。

从单机到分布式

其实从宏观上看,单个机器的处理机,就是一个简单的模型“输入->处理->输出”,把这个模型看做计算节点(compute node)。

当单个计算节点,无法满足海量数据的高效率计算时,就需要引入更多的计算节点,这便是分布式。

批量与流式计算

多个计算节点间的协调工作,拥有不同的模式。面对海量的数据,将其批量分配给各个计算节点处理,接着按照特定规则组合成所需数据,这便是批量计算。而批量计算最著名的计算模型,便是映射-规约模型(MapReduce),上述流程其实就是简单描述了这个模型。

同样地,计算节点间可以如工厂流水线似的,进行流式计算(stream computing),每个计算节点负责数据的不同加工步骤,将计算节点连接起来,形成不同的拓扑结构(topology),最终处理完海量的数据。

数据存储

计算节点有输入与输出,而这些接口连接的,可以是用户端,亦或是存储介质。对于存储介质而言,分布式文件系统与缓存,又是一大研究课题。而文件系统与缓存,虽然同为存储,但在量级、性能及易失性上等具有不同。

资源管理

上述的计算节点是个抽象模型,而模型之下便是对各个计算机资源管理及利用。与单机操作系统调度的资源类似,有如处理机及缓存等的资源。而分布式系统上层即计算框架等,往往非常依赖底层的资源管理。

其他细节问题

为了成为系统架构师,除了从宏观看待整体规划,还要到深入细节思考问题。上文从计算、存储及资源三个层次,浅析了分布式系统,但是还要考虑一些其他问题。例如,数据的安全、系统的扩展、负载均衡等等(知识有限,提能想到的)。

学习路线

上文做了简单的分布式系统分析,每个方面都有对应的工具及框架,目前只需学习对应方面的一两个工具或框架即可。关于学习路线,笔者的规划如下。

  1. 分布式文件系统及数据库 HDSF & HBase
  2. 分布式系统资源管理 YARN
  3. 分布式计算框架 Hadoop(批量) & Spark(流式)
  4. 分布式缓存 Redis & MemCache

后话

希望自己加油,为架构师目标奋斗!

以上是关于分布式系统浅析及学习路线的主要内容,如果未能解决你的问题,请参考以下文章

贵阳如何学习大数据?大数据学习路线安排

贵阳如何学习大数据?大数据学习路线安排

kubernetes 入门kubernetes学习路线发展历程及重要组件介绍

软考 - 01 考试范围及知识点

软考 - 01 考试范围及知识点

分布式架构 -- 学习路线图(入门到进阶)(转)