码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-02-20 20:15:41      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:map   无法   学习路线   base   海量   处理   流式计算   拓扑   研究   

前言

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

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

从单机到分布式

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

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

批量与流式计算

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

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

数据存储

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

资源管理

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

其他细节问题

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

学习路线

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

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

后话

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

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

标签:map   无法   学习路线   base   海量   处理   流式计算   拓扑   研究   

原文地址:https://www.cnblogs.com/linzhehuang/p/10408398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!