2017年ict能力提升云计算技术和应用_第1页
2017年ict能力提升云计算技术和应用_第2页
2017年ict能力提升云计算技术和应用_第3页
2017年ict能力提升云计算技术和应用_第4页
2017年ict能力提升云计算技术和应用_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算技术和应用李林电子科技大学计算机学院自我介绍姓名:李林专业:计算机系统结构学位:博士职称:副教授研究方向:操作系统分布式计算自我介绍技术背景:熟悉windows内核程序设计熟悉windowsAPI/MFC/ATL/WTL的应用开发熟悉Linux下基于API的应用开发熟悉Linux下网络应用程序开发熟悉Linux内核网络模块开发熟悉erlang应用开发Email:云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践概述-云计算产生的背景随着移动互联网、三网融合,尤其是web2.0等信息技术的发展网络用户和网络数据量呈指数级增长如何理解这个增长带来的影响?7Amazon的架构8淘宝网的架构9概述-云计算产生的背景早期系统架构并不复杂随着用户量的增大、并发量的上升、存储与处理的数据增多,导致了架构越来越复杂10阶段1系统建设初期web服务器、业务服务器、数据库在同一台物理机器上Web服务器业务服务器数据库11阶段2当具有一定用户/数据量的时候,通常会出现系统的压力越来越大、响应的速度越来越慢突出表现在数据库和业务之间的互相影响第一次演变:将业务和数据库从物理上分离数据库Web服务器业务服务器12阶段3随着系统访问人数的上升和数据量增大,访问速度又开始变慢访问数据库的操作太多,数据库连接竞争激烈;但连接数又不能开太多第二次演变:采用页面缓存机制减少数据库连接资源的竞争、对数据库读的压力Web服务器业务服务器数据库squid13阶段4随着访问/数据量的上升,系统又开始变慢可能会发现系统中存在一些重复获取数据信息的地方,如提取用户信息,加大了数据库压力第三次演变:把这些数据信息缓存在本地Web服务器数据库squid业务服务器缓存服务器14阶段5随着系统开展的业务越来越多,业务服务器的压力越来越大,响应速度越来越慢第四次演变:将web服务器和业务服务器从物理上分开,并对业务服务器进行水平或垂直的分割数据库squidWeb服务器业务服务器缓存服务器业务服务器缓存服务器业务服务器缓存服务器15阶段6A享受了一段时间的系统访问量高速增长的幸福之后,系统又开始变慢可能是由于数据库的写入、更新等操作的数据库连接资源竞争激烈第五次演变A:使用数据库集群数据库集群squidWeb服务器业务服务器缓存服务器业务服务器缓存服务器业务服务器缓存服务器16阶段6B第五次演变B:分库与分表多个数据库squidWeb服务器业务服务器缓存服务器业务服务器缓存服务器业务服务器缓存服务器17阶段7随着系统的不断运行,数据量开始大幅度的增长可能会发现之前的缓存同步方案出现问题,不再适合把缓存放在本地,再同步第六次演变:使用分布式缓存方案squidWeb服务器业务服务器多个数据库业务服务器业务服务器分布式Cache分布式Cache18阶段8分库分表分布式Cache后,数据库压力下降很多当访问量增大后,系统速度又下降了,问题可能在哪里?可能会发现web服务器,例如apache阻塞了很多请求第七次演变:增加web服务器、缓存服务器等业务服务器多个数据库业务服务器业务服务器分布式Cache分布式CacheWeb服务器Web服务器squidsquid19阶段9随着数据量大增,即使分库分表,数据库连接资源还是不够用可能会发现数据库的读写比很高第八次演变:将数据的读写分离业务服务器多个读数据库业务服务器业务服务器分布式Cache分布式CacheWeb服务器Web服务器squidsquid多个写数据库20阶段10随着系统的进一步发展,数据量暴增。数个数据库节点已经无法满足存储和查询的需求第九次演变:使用分布式存储、查询结构业务服务器业务服务器业务服务器分布式Cache分布式CacheWeb服务器Web服务器squidsquid21阶段11更进一步的发展,追求业务处理的通用框架第十次演变:使用map/reduce架构简单设计、增量设计,不要过度设计分布式Cache分布式CacheWeb服务器Web服务器squidsquidMasterworkerworker概述-云计算产生的背景上述的架构变迁,实际上也是设计云应用系统的方法和参考可见,一个系统的规模是随着用户量、数据量、并发访问量的变化而变化的而且,这个变化不仅具有长期性,还具有瞬时性传统的设备购置、维护方式,很难适应这种变化成本:购置维护大量的昂贵设备闲置:不是任何时候都是高负载的运行概述-云计算产生的背景自然的想法:不必自己购买设备而是向计算软硬件资源富余的第三方租赁区别与传统设备租赁、托管,租赁的行为是通过互联网实现云计算:用户通过互联网租赁虚拟的、可以满足业务静动态需要的、由第三方提供并维护的计算资源云计算定义众说纷纭概述-云计算的特点按需服务超大规模计算能力高可用性高可靠性通用性云计算不是一种特定的计算方式,可以在云端衍生出千变万化的应用概述-云计算的服务类型概述-云计算的典型应用场景联机事务处理类应用高可用的在线系统,以处理小型事务以及小型查询为主如电子商务系统、银行联机分析处理类应用大数据分析类应用搜索类应用微服务类应用云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践核心技术云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践云数据中心及应用实践云数据中心包括:服务器网络设备电力系统设备空调制冷设备等核心:网络电信设备数据中心网络布局:至少包括一个主要分布区MDA一个或多个水平分布区一个或多个设备分布区云数据中心及应用实践云数据中心及应用实践主要分布区:数据中心里线缆基础设施的中心,包括:机房中心路由器中心局域网开关中心存储区域网络SAN主干线缆可能穿越多层建筑物,和各个水平分布区相连在水平分布区,水平线缆在同层内电信设备间延伸,直至各个机架和服务器云数据中心及应用实践云数据中心及应用实践不少数据中心每年的电费开支,已经超过其计算机设备的购置费用能耗优化的三个方面:消除负载空闲能耗:负载整合、虚拟机迁移降低负载动态能耗优化供配电效率制冷管理阿里云的数据中心2015年9月,阿里云位于千岛湖的数据中心正式启用一大特色:节能节水年平均PUE(电力使用效率)低于1.3,最低可达1.17PUE=数据中心整体能耗/IT设备能耗年平均WUE(水资源利用率)可达到0.197,Facebook在俄勒冈州的数据中心创下的最低记录是0.28WUE=数据中心的年度用水量/IT设备能耗阿里云的数据中心节能举措:湖水制冷:让数据中心90%的时间,都可以不依赖湖水之外的制冷能源全年节电约数千万度,减少碳排放量一万多吨绿色能源采用光伏太阳能和水力发电回收服务器余热用作办公区采暖智能空调按需制冷技术纳入动态机房管理检测服务器功耗和温度变化,以调整空调冷量输出云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践云网络及应用实践为了提供可用性和可靠性保证,云计算系统一般都采用多域部署,包括:可用域(AvailabilityZone,AZ)一个AZ中包括了一个或者多个DC(DataCenter,数据中心)区域网络(RegionNetwork)一个RN包括多个AZ核心网络(CoreNetwork)连接各个RN边缘/CDN网络与运营商直接相连的部分云网络及应用实践数据中心网络数据中心包含在AZ(可用域)中,其架构分成:树形架构网状架构混合型架构Clos网络:多根树型网络架构,常包括三层交换结构ToR(TopofRack)交换机直接与服务器相连汇聚层服务器直接与ToR交换机相连中间层交换机与汇聚层服务器相连数据中心网络数据中心网络数据中心网络架构的新趋势:网络扁平化网络虚拟化可以编程和定义云计算的业务特点,使得传统的“南北流量”为主,演变成“东西流量”为主传统数据中心网络采用简单的树形拓扑结构,通过三层交换机互联:接入层、汇聚层、核心层数据中心网络数据中心网络传统数据中心网络存在的问题:对顶层网络设备要求高网络存在单点失效问题,容错性差网络带宽不足,特别是对东西流量而言新型的拓扑方案:DCell以服务器为中心的混合架构一台配备了多网卡的服务器,直接连接多台其他的服务器以cell为基本单元一个cell中包括了许多服务器和一个交换机数据中心网络数据中心网络Dcell的优缺点高可扩展很好的结构健壮性区域间带宽和延迟存在一定问题阿里云核心网络架构阿里云核心网包括两个部分:ACTNABTNACTN用于连接内部各个区域之间的网络ABTN用于与外界公网进行连接阿里云核心网络架构CDN未使用CDN时CDN阿里云CDN阿里云CDN主要功能包括:节点缓存精确调度多场景的业务支持多组件配合服务自助式管理和实时监控节点分布在30个国家,并拥有10Tbps服务能力储备阿里云CDN包括三个部分:主站发布环境、骨干中转环境、用户响应及最后一公里阿里云CDN阿里云CDN负载均衡-三层负载均衡-四层负载均衡-七层负载均衡-DNS云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践云计算中间件及应用实践中间件本质上是对操作系统、数据库、网络的抽象,为应用提供业务构建服务云计算中间件:集成了云计算能力的互联网中间件平台它对应于云计算的PaaS模式主要包括IT虚拟化资源的管理和计算服务化云计算中间件及应用实践阿里云互联网中间件体系中间件支撑阿里巴巴集团业务关键技术-高性能服务框架高性能服务框架,基于RPC的分布式系统通信服务RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议RPC采用客户机/服务器模式RPC+微服务的架构日志服务日志服务是常见的面向日志数据处理的应用型中间件日志文件的特点:仅附加写按顺序记录按时间组织使用日志进行主从同步分布式系统中使用日志进行同步开源日志系统Scribe消息服务消息中间件是在分布式系统之间,收发消息的基础组件,是一类典型的云计算中间件消息中间件的基本作用应用解耦削峰填谷数据交换异步通知应用/系统解耦应用/系统解耦削峰填谷如果限制队列长度,就可以实现流量削峰,比如秒杀当写入队列的消息超出最大限制,则直接抛弃请求或跳转到错误页面数据交换异步通知/处理异步通知/处理消息中间件两种模型消息中间件一般提供两种模型点对点模型发布/订阅模型点对点模型消息生产者生成消息,发送到队列中,消息消费者从队列中取出并消费消息消息被消费后,会从队列中删除每个消息只能有一个消费者消息中间件两种模型消息中间件两种模型发布/订阅模型消息生产者把消息发布到Topic中同时有多个消息消费者订阅该消息一个消息,可以同时被多个消费者消费消息中间件两种模型开源消息中间件-Kafka云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践云存储及应用实践---GFSGFS,GoogleFileSystem一个适用于大规模分布式数据处理相关应用的,可扩展的分布式文件系统。它基于普通的不算昂贵的硬件设备,实现了容错的设计,并且为大量客户端提供极高的聚合处理性能。可用于存储文档、图像、视频之类的Blob类型数据云存储及应用实践---GFSGoogle的应用负载和技术环境集群中的节点失效是一种常态,而不是一种异常。按照传统标准,文件都是非常巨大的,通常以G字节计。文件被划分成若干个大小为64MB的chunk大部分文件都是只会在文件尾新增加数据,而少见修改已有数据的。追加方式修改文件应用程序和文件系统API的协同设计提高了整个系统的灵活性。云存储及应用实践---GFS设计预期持续监视、错误检测、容错处理、自动恢复对大文件有效管理同时支持小型文件读取始终是单向顺序读取超大文件的顺序写入、随机小规模的写入支持多路合并模式进行操作高性能且稳定的网络,要比低延时更加重要接口常见操作creat、delete、open、close、read、write特殊操作snapshot、recordappend(原子操作)云存储及应用实践---GFSGFS架构关键问题Master设计测试云存储及应用实践---GFSGFS架构关键问题Master设计测试云存储及应用实践---GFS架构GFS集群由一个的master、多个chunkserver,以及若干client组成云存储及应用实践---GFS架构GFS文件被划分成若干固定大小的chunkMaster为每个chunk分配一个全局唯一句柄云存储及应用实践---GFS架构ChunkServer以普通文件形式保存chunk为了可靠性,每个chunk在不同CS中保留3份云存储及应用实践---GFS架构Master中的元数据:文件和chunk的命名空间、文件到chunk的映射、chunk的位置信息云存储及应用实践---GFS架构Master负责chunk的租约管理、垃圾回收、复制,以及和CS通过心跳交换信息云存储及应用实践---GFS架构Client使用了GFSAPIClient与master和ChunkServer的交换流程云存储及应用实践---GFSGFS架构关键问题Master设计测试关键问题-租约机制由于chunk多副本,所以在写chunk时,需要维护顺序性若将该维护工作交给master,master很容易成为系统瓶颈通过租约将chunk写操作授权给某个ChunkServer,该CS被称为主ChunkServer,其他副本所在CS被称为备ChunkServer在租约期内,该chunk的写操作都由主CS协调租约期一般60秒,主CS可以不断向master请求延长租约关键问题-追加流程1:客户端向master请求chunk每个副本所在的ChunkServer地址关键问题-追加流程2:Master返回主副本和备副本所在的chunkserver的位置信息关键问题-追加流程3:客户端将要追加的数据发送到每一个副本关键问题-追加流程4:当所有副本都确认收到了数据,客户端发起一个写请求控制命令给主副本期间,主副本可能收到多个写请求,会协调写顺序关键问题-追加流程5:主副本把写请求提交给所有的备副本每个备副本会根据主副本确定的顺序执行写操作关键问题-追加流程6:各副本完成后应答主副本关键问题-追加流程7:主副本应答客户端关键问题-追加流程传统的主备复制方法1:请求chunk每个副本的地址2:master返回副本地址信息关键问题-追加流程3:客户端将追加数据发送给主副本4:主副本通过流水线方式,将数据发送给所有备副本关键问题-追加流程5:每个备副本写入数据后,并收到后一个副本的应答消息时向前一个副本回应6:主副本响应客户端关键问题-读操作client把应用要读取的文件名和偏移量,根据固定的chunk大小,转换成为文件的chunkindex。向master发送这个包含了文件名和chunkindex的请求。master返回相关的chunkhandle以及对应的副本位置,client缓存这些信息。client就向最近的对应位置的chunkserver发起请求,请求包含chunkhandle以及一个在这个chunk内需要读取得字节区间。cs返回给client要读取的chunkdata。关键问题-容错机制Master的容错Master中的修改,总是先写日志,然后再修改内存,以便故障恢复时内存数据结构实时热备,所有的元数据操作同步到实时热备机使用Chubby避免双活关键问题-容错机制关键问题-容错机制ChunkServer容错多副本每个chunk又被划分成,若干64KB大小的Block每个Block有一个32位的校验和云存储及应用实践---GFSGFS架构关键问题Master设计测试Master设计负载均衡新副本所在的ChunkServer的磁盘利用率,低于平均水平限制每个ChunkServer最近创建的数量每个chunk的所有副本不能在同一个机架垃圾回收Lazy方式Master设计垃圾回收当应用程序删除一个文件,MASTER会将这个操作记录入操作日志,但是并不立即删除它,而是将它的名字改为一个包含删除时间戳的隐藏名字,然后直到MASTER进行命名空间常规扫描的时候,才删除存在时间超过三天以上的有隐藏名字的文件。Master设计快照GFS主要使用copy-on-write(写时复制)技术来实现快照功能。如果MASTER收到一个文件快照请求,那么它会取消在这个文件相关块上面的租约。然后通过当前的操作日志,将当前的状态保存在内存中,同时要复制文件或者目录的元数据作为快照文件的元数据,然后增加这个文件的相关块的引用计数,这时快照文件和新文件指向相同的文件块。Master设计快照在客户端想要对这个文件的文件块进行操作时,客户会首先联系MASTER查询租约持有者这时MASTER发现该块的引用计数大于1,然后它推迟答复客户端,通知所有拥有该文件块的chunkserver在本地创建该块的一个新的副本,对这个新副本分配一个租约,然后答复客户端,让他对这个副本进行操作。云存储及应用实践---GFSGFS架构关键问题Master设计测试云存储及应用实践---测试Allthemachinesareconfiguredwithdual1.4GHzPIIIprocessors,2GBofmemory,two80GB5400rpmdisks,anda100Mbpsfull-duplexEthernetconnectiontoanHP2524switch.All19GFSservermachinesareconnectedtooneswitch,andall16clientmachinestotheother.Thetwoswitchesareconnectedwitha1Gbpslink.云存储及应用实践---测试云存储及应用实践---GFSGFS架构关键问题Master设计测试云计算技术和应用概述核心技术云数据中心及应用实践云网络及应用实践云计算中间件及应用实践云存储及应用实践云数据库及应用实践云数据库及应用实践BigTable是一种分布式表格系统,对外提供了表格模型每个表格由若干行组成,每行又有若干列通过主键唯一标识某一行的某一列构成一个单元,而每个单元包含该单元多个历史版本的数据(row:string,column:string,timestamp:int64)->stringBigTableBigTable将多个列组织成列族列名包含了(columnfamily,qualifier)行主键:n.www这一行包含两个列族content和anchoranchor包含两列:和my.lock.cat表示不同时间的版本,如保留最近N个版本,保留限定时间内的所有版本BigTableBigTable采用双层结构,即GFS+Bigtable即在分布式文件系统之上,构建了一层分布式索引层还依赖Chubby(分布式锁服务)进行主控服务器选举、全局信息维BigTableBigTable包含了主控服务器,多个字表服务器,客户端程序库BigTableBigTable将大表划分成100到200MB的子表,每个子表对应一个连续的数据范围BigTable客户端程序提供了Bigtable到应用程序的接口,可以对表格进行增、删、查、改等操作BigTable客户端访问Chubby获取一些控制信息,如根表位置,表格内容只会和子表服务器相互BigTable主控管理所有的子表服务器,包括分配子表给子表服务器,指导子表合并,接受分裂消息BigTableMaster监控子表服务器,并在其之间实现负载均衡,以及子表服务器故障恢复BigTable子表服务器实现子表的装载卸出,表格内容的读写,子表的分裂和合并BigTableBigTable包含有三种类型表格用户表:存储用户实际数据元数据表:存储用户表的元数据,如子表的位置、日志文件信息等根表:存储元数据表的元数据根表的位置信息,存储在Chubby中。在BigTable中,任何子表都是按照行主键全局排序BigTable客户端查询时,首先从Ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论