大规模分布式计算概念

1、分布式计算
分布式计算:研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。

分布式计算比起其它算法具有以下几个优点:稀有资源可以共享;通过分布式计算可以在多台计算机上平衡计算负载;可以把程序放在最适合运行它的计算机上,其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。

2、并行计算
并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段

并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发地执行计算

为利用并行计算,通常计算问题表现为以下特征:
1)将工作分离成离散部分,有助于同时解决;
2)随时并及时地执行多个程序指令;
3)多计算资源下解决问题的耗时要少于单个计算资源下的耗时

空间上的并行导致了两类并行机的产生,分为:
单指令流多数据流(SIMD)
多指令流多数据流(MIMD)

常用的串行机也叫做单指令流单数据流(SISD)

MIMD类的机器又可分为以下常见的五类:
并行向量处理机(PVP)
对称多处理机(SMP)
大规模并行处理机(MPP)
工作站机群(COW)
分布式共享存储处理机(DSM)

并行计算机有以下五种访存模型:
均匀访存模型(UMA)
非均匀访存模型(NUMA)
全高速缓存访存模型(COMA)
一致性高速缓存非均匀存储访问模型(CC-NUMA)
非远程存储访问模型(NORMA)

3、云计算
云计算(cloudcomputing)是基于互联网相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。

云计算是一种理念,实际上是分布式技术+服务化技术+资源隔离和管理技术(虚拟化)

虚拟化和服务化是云计算的表现形式

虚拟化技术包括:资源虚拟化、统一分配检测资源、向资源池中添加资源。重量级虚拟化产品:VMWare,轻量级虚拟化:Linux的LXC

服务思想包括:软件即服务(SAAS)、平台即服务(PAAS)、基础设施即服务(IAAS)

云计算特点如下:

  • 超大规模
  • 虚拟化
  • 高可靠性 使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性
  • 通用性
  • 高可扩展性 规模可以动态伸缩,满足应用和用户规模增长的需要
  • 按需提供服务
  • 极其廉价 特殊容错措施可以采用极其廉价的节点来构成云,自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,通用性使资源的利用率较之传统系统大幅提升
  • 潜在的危险性

4、离线计算
在离线状态下去分析这些数据,要分析的数据量很大,一般用并行计算方式提高效率,是一种分布式计算应用方式

5、实时计算
是指一种增量计算,是增量性的,少量的,变化的,来了就能算了。也是一种分布式计算应用方式

6、迭代计算
需要考虑阶段,上一阶段的结果是下一个阶段的条件,而且为了高效,最好中间结果保存内存,不要频繁读写文件。也是一种分布式计算应用方式

大规模分布式产品介绍

1、Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。

优点:

  • 高可靠性 Hadoop按位存储和处理数据的能力值得人们信赖
  • 高扩展性 Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中
  • 高效性 Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快
  • 高容错性 Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配
  • 低成本

Hadoop从最初的HDFS分布式文件系统发展为Hadoop+ZooKeeper+Hive+Pig+HBase生态系统

HDFS提供了一个可扩缩的、容错的、可以在廉价机器上运行的分布式文件系统,按行存储,按64MB块进行文件拆分

HDFS的架构是一个NameNode和多个DataNode的结构:

  • NameNode:存储HDFS的元数据;管理文件系统的命名空间;创建、删除、移动、重命名文件和文件夹;接受从DataNode来的Heartbeat和Blockreport
  • DataNode:存储数据块;执行从NameNode来的文件操作命令;定时向NameNode发送Heartbeat和Blockreport

Hadoop并不是为了追求一个并行计算的框架而设计,提供快捷和灵活的计算方式去服务各种计算场景,它更多的是一个分布式文件系统,提供文件数据的存储和查询

2、Zookeeper
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户

ZooKeeper在Hadoop生态体系中是作为协同系统出现的

ZooKeeper是以Fast Paxos算法为基础的,ZooKeeper的基本运转流程:

  • 选出Leader
  • 同步数据
  • 选出Leader过程中算法有很多,但要达到的选出标准是一致的
  • Leader要具有最高的执行ID,类似root权限
  • 集群中大多数的机器得到响应并接受选出的Leader

3、HBase
HBase是一个分布式的、面向列的开源数据库,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价机器上搭建起大规模结构化存储集群

HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持;Hadoop MapReduce为HBase提供了高性能的计算能力;Zookeeper为HBase提供了稳定服务和failover机制;Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单;Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括两种文件类型

  • HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
  • HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File

4、Storm
一款用于实时分析的软件,流式计算方式,支持消息分流,增量数据通过消息分发,多个消息接受者并行接受处理

5、Spark
一款基于内存的用于迭代计算的框架

6、MPI(Message Passing Interface)
是消息传递并行程序设计的标准之一,它是一个规范,定义了进程间的通信接口,用于广告算法和迭代算法

7、BSP(Bulk Synchronous Parallel 整体同步并行计算模型)
支持多阶段,将复杂计算过程划分多个阶段,每个阶段等待最慢的进程计算完成才能进行下一个阶段,并且试图通过一些参数指标估算出并行计算时间

8、DAG(Directed Acycline Graph 有向无环图)
支持计算任务流,构成了一个任务并行流的概念

大规模分布式系统架构模式

1、master-slave模式
实现方式:一台计算机作为主调度者,然后其它几台计算机根据调度完成任务;一台计算机上多线程实现;上述两种方式结合实现扩展,可以统一用socket进行通信

特点:
master必须一直存在于集群中,需要承担分配任务,负责协同一致性等角色,接受salve连接,探测感知salve状态等等(master挂掉重选恢复问题,责任过多问题)

2、工厂管理模式
实现方式:
1)员工注册到人资,管理者从人资中获取员工信息
2)管理者负责分配任务,并将任务分配给员工
3)员工从仓库获取资源,执行完成后将产品放回仓库

特点:
管理者(调度)分配任务,员工(多个程序)执行任务,人资(独立程序)负责协同一致性等处理,仓库(可存放任务类型的对象)负责资源供给与产品存放

3、消息中心模式
对于上述管理者和员工之间通过消息中心进行交互

4、网状互联模式
实体之间直接相连

5、外部级联模式

6、内部分阶段模式

7、集群与兼容模式

8、服务化模式
采用webservice 、RESTFUL等

大规模分布式系统概念介绍相关推荐

  1. 《大规模分布式系统架构与设计实战》

    <大规模分布式系统架构与设计实战> 基本信息 作者: 彭渊 丛书名: 大数据技术丛书 出版社:机械工业出版社 ISBN:9787111455035 上架时间:2014-2-21 出版日期: ...

  2. Spark入门必读:核心概念介绍及常用RDD操作

    导读:Spark是由加州大学伯克利分校AMP实验室开源的分布式大规模数据处理通用引擎,具有高吞吐.低延时.通用易扩展.高容错等特点.Spark内部提供了丰富的开发库,集成了数据分析引擎Spark SQ ...

  3. 大规模分布式系统资源管理(一)

    女主宣言 如今大火的机器学习和人工智能等技术如何应用在资源管理方面?我们请到了南开大学的王刚和李雨森教授前来360,分享他们以及所在课题组在大规模分布式系统资源管理方面的研究工作,内容包括云游戏系统中 ...

  4. 分布式系统 概念 高可用 高并发 学习笔记

    分布式系统 概念 高可用 高并发 学习笔记 0. 分布式系统基本概念 0.1 背景 分布式系统是由一组通过网络进行通信.为了完成共同的任务而协调工作的计算机节点组成的系统.分布式系统的出现是为了用廉价 ...

  5. 【转载】专访阿里陶辉:大规模分布式系统、高性能服务器设计经验分享

    关注陶辉很长时间,初次对陶辉的了解还是在我们CSDN的博客上,从2007年开始写博客,一直到现在,如果不是对技术的追求和热爱,以及热爱分享的精神,我想不是很多人能坚持下来,拥有多年大型互联网公司的从业 ...

  6. 专访阿里陶辉:大规模分布式系统、高性能服务器设计经验分享

    专访阿里陶辉:大规模分布式系统.高性能服务器设计经验分享 发表于2014-06-27 16:25|18197次阅读| 来源CSDN|55 条评论| 作者魏伟 云计算Nginx开源 摘要:先后就职于在国 ...

  7. 专訪阿里陶辉:大规模分布式系统、高性能server设计经验分享

    http://www.csdn.net/article/2014-06-27/2820432 摘要:先后就职于在国内知名的互联网公司,眼下在阿里云弹性计算部门做架构设计与核心模块代码的编写,主要负责云 ...

  8. 区块链教程(二):基础概念介绍

    注:本教程为技术教程,不谈论且不涉及炒作任何数字货币 本系列重点在于以太坊基础知识.以太坊客户端以及以太坊solidity编程,因此博客重点在于以太坊核心知识点的掌握,区块链部分的基础知识可以作为补充 ...

  9. 大规模分布式系统资源管理(二)

    女主宣言 上一期我们分享了<大规模分布式系统资源管理(一) >,介绍了云游戏中的资源管理: 本期将继续介绍搜索引擎中的资源管理和AI 在资源管理中的应用. PS:丰富的一线技术.多元化的表 ...

  10. 分布式系统概念和设计 第十五章 (1)

    COORDINATION AND AGREEMENT http://www.cdk5.net/wp/ 背景知识点:Reliable failure detector 实际系统中没有reliable f ...

最新文章

  1. 后门BROOTKIT代码学习和原理分析
  2. Codeforces#363 Div2
  3. oracle中匹配函数怎么用,ORACLE 使用正则表达式的函数
  4. Java多线程之线程的可见性(二)
  5. Java-js处理textarea自动生成的制表符(空格,换行,tab等)
  6. python利用pandas合并excel表格代码_利用Python pandas对Excel进行合并的方法示例
  7. NginxJava笔记-Webservice使用HTTPS协议及Spring Boot配置tomcat
  8. 1天暴涨1300亿!中国移动最不争气的儿子,被王濛救活了?
  9. SQL正则表达式的妙用
  10. Codejock.Xtreme.Toolkit.Pro.v15.3.1 for MFC 15种皮肤切换
  11. 关于大内存(大于4G)支持的问题
  12. 机试算法编程题练习附答案-python
  13. 升级Android Q之路遇到的坑-abc_screen_simple
  14. bootstrap--表格(table的各种样式)
  15. c语言给bmp图片加滤镜,图片编辑器PixelStyle: 图像处理,滤镜特效
  16. 从耦合微带线到近、远端串扰
  17. 对软件公司不要传智播客学生的驳斥
  18. NR DCI Format介绍
  19. 旅游网案例:根据id 查询不同类别的旅游线路数据
  20. 系统服务管理者:ServiceManager进程

热门文章

  1. 罗永浩宣布春节后回归科技界;2021年年终奖人均水平为2.3万元;消息人士:字节跳动日均进账10.07亿 | EA周报...
  2. 破解各种加密软件的方法
  3. 《Flash MX从入门到精通》内容简介
  4. maven 绑定html压缩,Maven使用yuicompressor-maven-plugin打包压缩css、js文件
  5. css完成图片预加载,图片预加载
  6. 掌上百度2011java_掌上百度2011通用版 掌上百度 Java空间版
  7. 金蝶KIS专业版13.0视频教程
  8. pp助手可以刷机吗android,如何使用PP助手进行刷机?
  9. TSX指令集中的 RTM 受限的事务内存 来实现并发无锁编程
  10. psp2000 M33 自制固件---恢复模式说明(基本所有版本都适用)