云计算与分布式技术.ppt

上传人:夺命阿水 文档编号:228831 上传时间:2023-02-28 格式:PPT 页数:26 大小:615.50KB
返回 下载 相关 举报
云计算与分布式技术.ppt_第1页
第1页 / 共26页
云计算与分布式技术.ppt_第2页
第2页 / 共26页
云计算与分布式技术.ppt_第3页
第3页 / 共26页
云计算与分布式技术.ppt_第4页
第4页 / 共26页
云计算与分布式技术.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《云计算与分布式技术.ppt》由会员分享,可在线阅读,更多相关《云计算与分布式技术.ppt(26页珍藏版)》请在课桌文档上搜索。

1、云 计算与分布式技术,1,第四章,2,云计算故事-“双十一”背后 好多人在淘宝上淘过宝贝,特别是每年的“双十一”,产生了海量的交易数据,这些数据其实不是存储在某一台存储服务器上,每单交易从商品的检索到完成下单的一系列过程,可不是一台服务器帮你完成的。阿里云平台单集群早已超越5000台,同时支持多集群跨异地机房计算,实现业务的并行处理和分布式计算。在电商平台下单,一笔买卖就是一个“事务”,对买家账户进行扣款,对卖家账户进行入账;同时,要扣库存、更新订单状态,而库存和订单一般属于不同的数据库,甚至是在不同物理位置的云数据中心主机上,如何保证这一系列数据处理的一致性?淘宝网整个交易系统是个复杂的系统

2、,由分布在不同地域的云计算数据中心,通过分工与协同,完成交易的整个过程,其中负责存储海量数据的分布式数据库OceanBase是支付宝的核心系统之一。,第四章 云计算与分布式技术,3,本章导读 云计算系统可以是一个庞大的信息处理系统,在该系统中,与大量服务器、存储设备、数据库、网络设备等分布在不同网络位置和物理位置。该系统就是利用分布式技术,将一个巨大任务,划分成多个子任务分配给系统中不同的处理节点上,然后把各个节点的处理结果进行有机整合,最终产生所需要的结果。分布式技术既提高了工作效能,又充分盘活了系统中各种空闲的软硬件资源。分布式系统是云计算中最基础的架构,其中包括分布式应用和服务。分布式系

3、统把应用和服务进行分层和分割,然后将应用和服务模块进行分布式部署,既提高了并发访问能力、减少数据库连接和资源消耗,还能使用不同应用复用共同的服务,使业务易于扩展。,第四章 云计算与分布式技术,4,本章学习目标 随着计算的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费较长的时间来完成,分布式计算将应用分解成许多小的部分,分配给多台计算机处理,这样可以节约整体计算时间,大大提高计算效率。学习目标 理解分布式系统概念 理解分布式计算、分布式文件系统、分布式数据库、分布式存储等技术特点 了解分布式消息队列 了解分布式系统在云计算中的应用,第四章 云计算与分布式技术,5,什么

4、是分布式系统(Distributed System)?分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。分布式系统由多个业务节点组成,每个节点可以由廉价的终端或昂贵的服务器组成,构成一个独立的运算单元,它们分散在不同的地理位置,基于通信网络互联和分布式软件系统来执行任务。分布式系统对用户来说就像一台计算机一样,作为整体对外向用户提供资源,但对用户而言整个系统是透明的。分布式系统根据网络的体系结构分为总线型和网络型;根据系统架构分为分布式存储和分布式计算。,4.1 什么是分布式系统,6,分布式系统特点:(1)一致性。即数据的一致性,关联数据之间的逻辑关系是否正确和完整,

5、无论对数据怎样操作,都要保持数据的完整性和可用性,没有脏数据产生。(2)可用性。用户发出的各种请求,在服务器端能及时作出正确的响应,而不是错误的或是没有响应。(3)容错性,。当一个节点出现故障时,系统中其它节点能够提供正常的服务,并对该节点进行删除和增加操作。,4.1 什么是分布式系统,7,分布式计算,是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。分布式计算就是让两个或多个软件互相共享信息

6、,这些软件既可以在同一台计算机上运行,也可以通过网络连接起来的多台计算机同时运行,然后共同完成一个或若干个任务得到结果。,4.2.1 分布式计算,4.2 什么是分布式系统,8,网格计算是分布式计算的一种类型。网格计算在松耦合资源环境中的得到应用,用来实现复杂的工作负载管理和信息虚拟化功能。网格计算也是一种与集群计算非常相关的技术。网格计算的实质就是组合与共享资源并确保系统安全,并通过利用大量异构计算机的未用资源(CPU、磁盘存储等),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个分布式模型。网格计算或分布式具有以下特点:(1)稀有资源可以共享;(2)

7、通过分布式计算可以在多台计算机上平衡计算负载;(3)可以把程序放在最适合运行它的计算机上。,4.2.2 网格计算,4.2 什么是分布式系统,9,并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。通过并行计算集群完成数据的处理,再将处理的结果返回给用户。并行计算有以下特征:(1)将工作分离成离散部分,有助于同时解决。(2)随时并及时地执行多个程序指令。(3)多计算资源下解决问题的耗时要少于单个计算资源下

8、的耗时。,4.3.1 什么是并行计算,4.3 并行计算,10,(1)云计算萌芽于并行计算 云计算的萌芽应该从计算机的并行化开始,并行机的出现是人们不满足于CPU摩尔定率的增长速度,希望把多个计算机并联起来,从而获得更快的计算速度。(2)并行计算追求的高性能 在并行计算的时代,人们极力追求的是高速的计算、采用昂贵的服务器。例如,截至2018年11月,美国超级计算机“顶点”蝉联冠军,中国超算上榜总数仍居第一,数量比上期进一步增加,占全部上榜超算总量的45%以上。中国超算“神威太湖之光”和“天河二号”分别位列第三、四名。(3)云计算对于单节点的计算能力要求低 而云计算并不去追求使用昂贵的服务器,云中

9、心的计算力和存储力可随着需要逐步增加,云计算的基础架构支持这一动态、虚拟化扩展的方式。,4.3.2 并行计算与云计算,4.3 并行计算,11,MapReduce是1956年由图灵奖获得者著名的人工智能专家McCarthy首次提出的,是LISP语言定义的函数,是一种编程模型,用于大规模数据集(大于1TB)的并行计算。概念“Map(映射)”和“Reduce(归约)”,是它的核心思想。它是面向大数据并行处理的计算模型、框架和平台。MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布

10、和并行计算集群。MapReduce是一个并行计算与运行软件框架。MapReduce是一个并行程序设计模型与方法(Programming Model&Methodology)。,4.4 MapReduce简介,12,分布式文件系统(Distributed File System)就是分布式+文件系统,从文件系统的客户使用者来看,它就是一个标准的文件系统,提供了一系列API,实现文件或目录的创建、移动、删除和对文件的读写等操作。从内部组织结构来看,分布式的文件系统不再和普通文件系统一样负责管理本地磁盘,它的文件内容和目录结构都不存储在本地磁盘上,而是通过网络传输到远端系统上。常见的分布式应用级的文

11、件系统有GFS、HDFS、Lustre、Ceph、TFS、FastDFS等。,4.5 分布式存储,4.5.1 分布式文件系统,13,典型的分布式文件系统包括:分布式文件系统、分布式锁机制和分布式通信机制。如Google的分布式文件系统中GFS、Chubby和Protocol Buffer对应着分布式文件系统、分布式锁机制和分布式通信机制。(1)GFS-Google的分布式文件系统。(2)Chubby-分布式锁服务。(3)Protocol Buffer-是Google内部使用类似XML和JSON的一种数据交换格式,并提供基于Java、C#和Python等多种语言的接口调用。,4.5 分布式存储,

12、4.5.2 分布式文件系统应用,14,BigTable是一个分布式的半结构化数据存储系统,被设计用来处理海量数据,通常是分布在多台普通服务器的PB级的数据。BigTable体系架构主要包括三部分,如下图:,4.5 分布式存储,4.5.3 分布式数据库BigTable,15,块存储指在一个RAID集中,提供固定大小的RAID 块作为LUN(逻辑单元号)的卷。块存储通常是指磁盘阵列、硬盘、虚拟硬盘,它的使用方式与普通硬盘的使用方式完全一样,DAS和SAN是两种块存储的典型存储方式。分布式存储软件系统具有以下特点:(1)高性能:分布式哈希数据路由,,数据分散存放,实现全局负载均衡,不存在集中的数据热

13、点,大容量分布式缓存;(2)高可靠:采用集群管理方式,不存在单点故障,灵活配置多数据副本,不同数据副本存放在不同的机架、服务器和硬盘上,单个物理设备故障不影响业务的使用,系统检测到设备故障后可以自动重建数据副本;(3)高扩展:没有集中式机头,支持平滑扩容,容量几乎不受限制;(4)易管理:存储软件直接部署在服务器上,没有单独的存储专用硬件设备,通过Web UI 的方式进行软件管理,配置简单。,4.5 分布式存储,4.5.4 分布式块存储服务,16,对象存储(Object Storage)是在2006年亚马逊推出S3(Simple Storage Service)时提出的,此后各厂商推出各种产品,

14、形态各异,但从应用场景上理解都大致相同,它的特征如下:(1)远程访问。对象存储为云计算而生,存储设备在数据中心,用户遍布世界各地,通过Web服务协议(如REST、SOAP)实现对象的读写和存储资源的访问,通过滴用对象存储本身提供的认证密钥进行身份验证,通过控制列表访问单个对象或存储段,使用REST接口来设置和管理访问控制列表。(2)海量用户。云服务需要支持海量的用户,各个用户之间可以相互共享、授权,并且要保证数据不能泄露。(3)无限扩容。用户产生的海量数据需要分布式对象存储,支持用户存储的数量无限多个。,4.5 分布式存储,4.5.5 分布式对象存储服务,17,消息队列最先用于计算机内部进程间

15、通信或线程间通信。随着分布式技术的发展,在后来的软件工程实践中,消息队列逐渐变成独立部署的软件组件,特别是在云平台环境下,消息队列成为不同服务之间消息通信和同步的关键技术,基于云平台的可靠性要求,需要队列服务提供持久化存储能力,并且能够容忍存储的单点故障,从而实现持久化存储的分布式队列服务。,4.6 分布式消息队列,18,Hadoop是什么?Hadoop是一个分布式系统基础架构,是一个运行处理大规模结构化和非结构化数据的软件平台。Hadoop是对Google的MapReduce、GFS和BigTable等核心技术的开源实现,由Apache软件基金会支持,是以 Hadoop分布式文件系统(Had

16、oop Distributed File System,HDFS)和MapReduce(Google MapReduce)为核心,以及一些支持Hadoop的其它子项目的通用工具组成的分布式计算系统。,4.7 分布式系统Hadoop简介,19,(1)HDFS简介 HDFS是基于数据流模式访问和处理的大文件系统,部署在廉价的商用服务器上。HDFS集群架构由一个NameNode,一定数目的 DataNode和Client三部分组成,NameNode用于存储,生成文件系统的元数据,运行一个实例;.DataNode用于存储实际的数据,将自己管理的数据块上报给NameNode,运行多个实例;Client支

17、持业务访问HDFS,从NameNode和DataNode获取数据返回给业务。多个实例和业务一起运行。,4.7 分布式系统Hadoop简介,20,(2)HDFS读数据流程 HDFS客户端调用标淮的文件系统,并以文件流的形式打开文件,HDFS客户端读取NameNode配置信息,获取文件信息(数据块、DataNode位置信息)HDFS客户端调用文件流API读取文件,从NameNode中获取DataNode的信息,读取相应的多个数据块,文件流调用关闭连接。,4.7 分布式系统Hadoop简介,21,(3)HDFS写数据流程 HDFS客户端调用标准的文件系统,并以文件流的形式打开文件,请求写入.HDFS

18、客户端让NameNode在元数据中创建文件节点。调用文件流API写入文件。HDFS客户端从NameNode获取到数据块编号、位置信息后,联系DataNode,写入数据到DataNode1,再由DataNode1复制到DataNode2,DataNode2复制到DataNode3,写完数据后,将返回确认信息给HDFS客户端,文件流调用关闭连接。,4.7 分布式系统Hadoop简介,22,(4)Hadoop生态系统 目前,Hadoop已经发展成为包含很多项目的集合,,形成了以Hadoop为中心的生态系统(Hadoop Ecosystem),此生态系统提供了互补性服务或在核心层上提供了更高层的服务,

19、使Hadoop的应用更加方便快捷。,4.7 分布式系统Hadoop简介,Platform Computing Inc.2003-Proprietary&Confidential,23,23,本章小结,MapReduce是一个实现并行计算与软件开发的一套设计模型和方法,能够自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务并收集中间计算结果。该系统可实现将大数据进行分布式存储、实现数据通信、容错处理等,其将并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。Hadoop是一个由Apache基金会开发的一套分布式系统基础架构。

20、用户可以在不了解分布式底层细节的情况下,开发分布式程序。该系统可以充分利用分布式集群资源进行高效运算和数据访问。,Platform Computing Inc.2003-Proprietary&Confidential,24,24,本章小结,Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。在搭建的Hadoop平台上实现HDFS分布式数据存储以及实现MapReduce的并行计算,也就是说,在hadoop的框架上采取Mapreduce的模式处理海量数据。BigTable是Google设计的分布式数据存储

21、系统,是一个稀疏的、分布式的、持久化的、多维的排序和键值(key-value)映射。用来处理海量数据的一种非关系型的数据库,能够快速且可靠地处理PB级别的数据,并且能够部署到大量服务器上。,项目名称:在阿里云上实现分布式计算资源的申请与应用。通过在阿里云平台上申请分布式服务器等计算资源、网络资源、存储资源等,基本掌握在云平台上实现应用平台和ICT资源的申请和构建步骤,了解分布式计算的基本功能和任务,从而更好地理解分布式计算在云数据中心中地位和作用。背景知识:企业想在云服务提供商平台上采购构建自己的企业新信息化管理平台,无需自己采购、建立和维护数据中心,并且利用分布式计算资源,处理企业大型分布式业务。阿里云企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Dubbo、Spring Cloud等微服务运行环境,助力各类应用轻松上云。,25,拓展项目,26,拓展项目,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号