标签:map 无法 学习路线 base 海量 处理 流式计算 拓扑 研究
昨天夜里,突然冒出来的想法,应该有规划性地学习分布式系统,带着目的及问题去学习。结合从寒假期间看的,大数据及分布式文章中的知识,加之自己的思考及想法,写下了这篇文章。
由于笔者对分布式系统研究水平尚处入门,文章着笔较浅,并希望此文能抛砖引玉,同时欢迎读者勘误及指教。
其实从宏观上看,单个机器的处理机,就是一个简单的模型“输入->处理->输出”,把这个模型看做计算节点(compute node)。
当单个计算节点,无法满足海量数据的高效率计算时,就需要引入更多的计算节点,这便是分布式。
多个计算节点间的协调工作,拥有不同的模式。面对海量的数据,将其批量分配给各个计算节点处理,接着按照特定规则组合成所需数据,这便是批量计算。而批量计算最著名的计算模型,便是映射-规约模型(MapReduce),上述流程其实就是简单描述了这个模型。
同样地,计算节点间可以如工厂流水线似的,进行流式计算(stream computing),每个计算节点负责数据的不同加工步骤,将计算节点连接起来,形成不同的拓扑结构(topology),最终处理完海量的数据。
计算节点有输入与输出,而这些接口连接的,可以是用户端,亦或是存储介质。对于存储介质而言,分布式文件系统与缓存,又是一大研究课题。而文件系统与缓存,虽然同为存储,但在量级、性能及易失性上等具有不同。
上述的计算节点是个抽象模型,而模型之下便是对各个计算机资源管理及利用。与单机操作系统调度的资源类似,有如处理机及缓存等的资源。而分布式系统上层即计算框架等,往往非常依赖底层的资源管理。
为了成为系统架构师,除了从宏观看待整体规划,还要到深入细节思考问题。上文从计算、存储及资源三个层次,浅析了分布式系统,但是还要考虑一些其他问题。例如,数据的安全、系统的扩展、负载均衡等等(知识有限,提能想到的)。
上文做了简单的分布式系统分析,每个方面都有对应的工具及框架,目前只需学习对应方面的一两个工具或框架即可。关于学习路线,笔者的规划如下。
希望自己加油,为架构师目标奋斗!
标签:map 无法 学习路线 base 海量 处理 流式计算 拓扑 研究
原文地址:https://www.cnblogs.com/linzhehuang/p/10408398.html