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

前言

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

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

从单机到分布式

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

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

批量与流式计算

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

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

数据存储

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

资源管理

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

其他细节问题

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

学习路线

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

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

后话

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

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

时间: 2024-08-08 11:47:25

分布式系统浅析及学习路线的相关文章

大数据分析与机器学习系统学习路线指导(1)

3.开始专业课程的学习,请根据自己的学习能力和基础,逐渐选择学习课程,一年完成学习即可!三个专业方向课程详解如下: 数据分析师专业方向 学习路线建议 课程名称 难易程度 基础课 大数据的统计学基础 ★ 基础课 大数据的矩阵计算基础 ★ 工具课 深度玩转Excel ★ 工具课 R语言数据分析.展现与实例 ★ 工具课 SPSS数据分析入门与提高 ★★ 工具课 数据分析与SAS ★★ 应用课 基于软件学习数据挖掘算法与案例 ★ 应用课 BI实战之cognos 篇 ★★ 应用课 量化投资 ★★ 应用课

大数据学习路线(自己制定的,从零开始)

大数据已经火了很久了,一直想了解它学习它结果没时间,过年后终于有时间了,了解了一些资料,结合我自己的情况,初步整理了一个学习路线,有问题的希望大神指点. 学习路线 Linux(shell,高并发架构,lucene,solr) Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume) 机器学习(R,mahout) Storm(Storm,kafka,redis) Spark(scala,spark,spark core,

Hadoop生态系统学习路线

主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等. 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘.开源界及厂商,所有数据软件,无

大数据学习路线

偶遇大数据学习路线,赶上一次科技革命不容易,追求下,要有所作为! 一.Hadoop入门,了解什么是Hadoop 1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明 二.分布式文件系统HDFS,是数据库管理员的基础课程 1.分布式文件系统HDFS简介2.HDFS的系统组成介绍3.HDFS的组成

Java学习路线 重点 与目标

本文将告诉你学习Java需要达到的30个目标,学习过程中可能遇到的问题,及学习路线.希望能够对你的学习有所帮助.对比一下自己,你已经掌握了这30条中的多少条了呢? 路线 Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE. 这三块相互补充,应用范围不同. J2SE就是Java2的标准版,主要用于桌面应用软件的编程: J2ME主要应用于嵌入是系统开发,如手机和PDA的编程: J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统. 先学习j

这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。

这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理.        01-java高级架构师设计-基础深入        J2SE深入讲解        Java多线程与并发库高级应用视频教程下载        java反射机制        java设计模式视频        数据结构视频教程        Eclipse视频教程.zip        MyEclipse视频教程.zip    02-java高级架构师设计-JavaEE拓展        A

大数据学习路线(自己制定,从零开始)

大数据已经火了很久了,一直想了解它学习它结果没时间,了解了一些资料,结合我自己的情况,整理了一个学习路线,. 学习路线 Linux(shell,高并发架构,lucene,solr) Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume) 机器学习(R,mahout) Storm(Storm,kafka,redis) Spark(scala,spark,spark core,spark sql,spark stream

大数据学习路线整理

一.大数据技术基础 1.linux操作基础 linux系统简介与安装    linux常用命令–文件操作    linux常用命令–用户管理与权限    linux常用命令–系统管理    linux常用命令–免密登陆配置与网络管理    linux上常用软件安装    linux本地yum源配置及yum软件安装    linux防火墙配置    linux高级文本处理命令cut.sed.awk    linux定时任务crontab 2.shell编程 shell编程–基本语法    shel

十年架构师留下最完整的Java学习路线,学完年薪40W

文章有点长,请大家耐心看完,话不多说直接上干货! 永不过时的编程语言--Java 编程开发. Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以900万的程序员数量位居首位. 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多.而在以Java编程为核心的开发领域中,javaEE程序员的需求量10年来一直居于首位!创一个小群,供大家学习交流聊天如果有对学java方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对