分布式系统与云盘算复习(应用题)
1、分布式系统的特性是什么?高可靠性 。数据分散存储在网络中的差异主机上,系统中存在数据冗余,当一台机器 发生 故障时,可以利用另一台主机的备份。 负载均衡 每台主机可以缓存本地最常用的数据,不需要频仍地访问服务器,减轻了 服务器 的负担,减少了网络的流量。 服务器也可以对使命举行分配和优化,降服几种系统中央计 算机资源紧张 的瓶颈 满意差异的需要。 用户可以根据自己的需要在自己的主机上安装差异的操作系统、应用软件, 利用差异的服务,不再像集中式盘算机系统那样受限于中央盘算机的功能。 高性价比 。每台机器都能存储和处置惩罚数据,降低了对机器性能的要求,所以不必购买 昂贵 的高性能机器,这大大降低了硬件投资成本 2、分布式系统的透明性是指什么?
指用户或程序员看不见连接多个机器的网络的存在。用户不需要关心系统实现的细节 3、分布式系统的主要通信方式是什么?
消息传递 4、分布式系统的两大主要目的是什么?
资源共享。 将盘算机通过网络连接起来,并在这个范围内有用地共享资源(硬件的共享,软 件的共享,数据的共享,服务的共享 媒体流的共享(动态的资源形式)) 协同盘算 。并行盘算,分布式计 5、分布式系统的架构分为哪些层?此中核心层是什么?
分布式应用、中间件层(应用软件)、盘算机、消息传递、网络层 中间件:分布式的核心层 6、给出评判系统性能的三个指标,并分别解释。
系统的吞吐能力: 系统在某一时间可以处置惩罚的数据总量,通常可以用系统每秒处置惩罚的总的数 据量来衡量; 系统的响应耽误 ,指系统完成某一功能需要利用的时间; 系统的并发能力 ,指系统可以同时完成某一功能的能力,通常也用 QPS 来衡量 7、请列出云盘算的三大特点。
超大规模、虚拟化;高可靠性;通用性、高可伸缩性;按需服务、高性价比 8、云盘算技能体系结构可以分为哪几层?与网格盘算相比,云盘算适合紧耦合盘算 照旧松耦合盘算?
SOA 构建层、管理中间件层、物理资源层、资源池层 与网格盘算相比,云盘算适合松耦合盘算 9、给出云盘算三种服务类型的中文名及英文缩写。
将软件作为服务 SaaS(Software as a Service) 将平台作为服务 PaaS(Platform as a Service) 将基础办法作为服务 IaaS(Infrastructure as Service) 10、Google 云盘算技能的三大法宝是什么?
GFS: 分布式文件系统。 MapReduce:并行盘算的核心技能框架。 BigTable:分布式的、希罕的、多维的、易于扩展的、适用于海量数据的数据库 11、MapReduce 编程模型中最主要的两个函数是什么?分别有什么作用?
map( )和 reduce( )函数。从数据格式上来看,map( )函数吸收的数据格式是键值对,产生的 输出结果也是键值对形式,reduce( )函数会将 map( )函数输出的健值对作为输入,把雷同 key 值的 value 举行汇总,输出新的键值对 12、MapReduce 适用于可以串行处置惩罚的应用程序照旧可以并行处置惩罚的应用程序?
MapReduce 适用于可以并行处置惩罚的应用程序 13、亚马逊基础存储架构 Dynamo 有什么特点?
Dynamo 是 Amazon 提供的一款高可用的分布式 Key-Value 存储系统 作为底层存储架构,Dynamo 接纳了无中央的模式 Dynamo 只支持简单的键/值(key/value)方式的数据存储,不支持复杂的查询 Dynamo 中存储数据值的原始形式,即按位存储,不解析数据的具体内容 可扩展性;快速、可预期的性能;简易的管理 内置的容错性,机动性 14、在 Dynamo 中,向量时钟技能可以办理什么问题?
由于 Dynamo 中可能出现同一个数据被多个节点同时更新的情况,且无法保证数据副本的 更新顺序,有可能导致数据冲突。接纳向量时钟技能,Dynamo 中的向量时钟通过 对来表示。 node 表示操作节点 counter 是计数器,初始值为 0 。节点每举行一 次更新操作则计数器加 1 。办理冲突:通过客户端由用户来办理;另一种是系统自动选择 时间戳最近的版本 15、在 Dynamo 的存储节点中接纳的改进的划一性哈希算法相较于传统的划一性哈希算 法有什么区别?
传统 :办理网络中的热点问题,使 DHT 可以真正地应用于 P2P 情况中。保证哈希运算结果充 分分散到整个环上外,保证在添加或删除设备节点时只影响到其在哈希环中的前驱设备节点, 不会对其他设备节点产生影响。降低在添加或删除节点时引起的节点间的数据传输开销。但 可能造成环上节点分布的不均,且没思量哈希环上差异设备节点性能差异。 改进: 传统的基础上,引入虚拟节点,将整个哈希环分别成 Q 等份,每个等份称为一个数据 分区。在存储数据时,每个数据会被先分配 到某个数据分区,再根据负责该数据分区的虚 拟节点,终极确定其所存储的物理节点。以此减小数据分布不均衡的可能性,添加或删除设 备节点时引起较小的数据传输 16、Dynamo 中接纳了一种雷同于 Gossip(闲聊)协议的技能有什么作用?
由于 Dynamo 接纳了无中央的架构,每个成员节点都需要保存其他节点的路由信息;为了 保证每个节点都能拥有最新的成员节点信息,Dynamo 中接纳了一种雷同于 Gossip(闲聊) 协议的技能。 Dynamo 中还通过 Gossip 来实现错误检测任何节点向其他节点发起通信后,如果对方没有 回应,则认为对方节点失效 17、接纳 Merkle 哈希树检测数据的划一性有什么优点?
保障数据传输的有用性; 18、微软云盘算平台主要属于云盘算服务的哪一类型?
Windows Azure Service Platform 属于 PaaS 模式 19、相比于行存储,列存储有哪些优点?
列存储以属性为单元,每次存储一个属性。列存储的利益在于处置惩罚时只需利用涉及的列数据, 且列存储更有利于数据的压缩。读取效率高,没有冗余 写入次数多,速度慢,斲丧 cp 20、改进的划一性哈希算法中数据分区的利益是什么?
①减小数据分布不均衡的可能性②添加或删除设备节点时引起较小的数据传输 21、虚拟机的上风都有哪些
快速实现分布式部署,并且随时增减。自助升级配置,增加 IP,带宽等功能,升级过程无需 停机。可以自助软/硬重启,一键配置 FTP、IIS 等。及时查看资源、流量、进程、服务的运 行状态。完全拥有主机的 Administrator 或 Root 权限,可以个性化配置系统,自由安装应用 软件和程序,部署各种互联网应用。、 1、Google 云盘算的核心技能
Google 文件系统 GFS 、分布式数据处置惩罚 MapReduce 、分布式结构化数据表 Bigtable、分布式锁服务 Chubby、分布式存储系统 Megastore、大规模分布式系 统的监控基础架构 Dapper 、海量数据的交互式分析工具 Dremel 、内存大数据 分析系统 PowerDrill 、 Google 应用程序引擎 GFS: 分布式文件系统。适用于 TB 级超大文件存储。master 节点是文件管理的 大脑,负责存储和管理文件与物理块的映射,维护 metafile,处置惩罚临时文件, 调度 chunk server 等。chunk server 是真正存储物理文件块。GFS 定位于由廉 价服务器构成的超大集群,假定单个服务器存储是不可靠地,易失的,因此 GFS 强调冗余和备份。每份文件块会同时存储于多个差异的 chunk server。上层客 户哀求文件时,首先与 master 节点交互,获取相关信息,随后 client 将直接与 相应的某个 chunk server 通信并获取文件。在开源产品中雷同实现有 HDFS。 MapReduce: 并行盘算的核心技能框架。使得上层应用软件可以专注于业务逻辑 实现,同时利用到分布式并行盘算的利益。Map 接受和输出属性-值对,使得各 节点工作进程可以并行盘算它们的属性-值,并输出中间结果;Reduce 化简,输 入 Map 处置惩罚的中间结果,举行合并运算,终极输出结果文件,返回给上层应用。 一个典型案例:编写一个应用对图书馆过去 50 年的文献,统计最大词频。 MapReduce 可以做的是,自动分割输入文件集合(使命分解),自动在多节点上克 隆运算进程(map 进程组和 reduce 进程组),并分别指派使命,终极映射和化简 都完毕后,将处置惩罚结果文件返回给原始客户应用 --- 对上层应用很好的屏蔽了 并行盘算。在开源实现中,对应有 Hadoop。 BigTable: 分布式的、希罕的、多维的、易于扩展的、适用于海量数据的数据库。 是非关系型数据库,只管也沿用如表、行等传统概念。实质是 key-value 记录的 集合。多维是说 key 有多个:行、列以及时间。希罕是由于差异行的列可以完全 差异。表、行可以自动分裂从而扩展。雷同属性的列构成列族。相比而言, BigTable 适合海量存储和非结构化数据(好比网络流量、多媒体、网页、日志等),操作大 多数为读取和查询。而传统关系型数据库则易于实现复杂的结构化 DML 操作。典 型案例是网页的存储:以反向 URL 为 key,网页内容以及引用为列,同时网页更 新的时间标志作为另一个键。开源实现雷同的有 HBase,HyperTable 等。 2、Amazon 云盘算的核心技能
基础存储架构 Dynamo、弹性盘算云 EC2 、简单存储服务 S3 提供的服务:简单数据库服务 Simple DB 、简单队列服务 SQS 、弹性 MapReduce 服务 、内容推送服务 CloudFront 、电子商务服务 DevPay 、支付服务 FPS 3、MapReduce
通过重新实验失效的地方来实现容错 从数据格式上来看,map( )函数吸收的数据格式是键值对,产生的输出结果 也是键值对形式,reduce( )函数会将 map( )函数输出的健值对作为输入,把相 同 key 值的 value 举行汇总,输出新的键值对。 (1) 将原始数据处置惩罚成键值对<K1, V1>形式。 (2) 将解析后的键值对<KI, V1>传给 map0 函数,mapO 函数根据映射规则,将键值对<K1, V1>映射为一系列 中间结果形式的键值对<K2, V2>。 (3) 将中间形式的键值对<K2, V2>形成<K2, {V2, ..}>形式传给 reduce()函数处置惩罚,把具有雷同 key 的 value 合并在一起, 产生新的键值对<K3, V3>。此时的键值对<K3, V3>就是终极输出的结果。 3、Dynamo 中的划一性哈希算法分析
过程:对于系统中的每个设备节点,为其分配一个随机的标志,这些标志可以构 成一个哈希环。在存储数据时,盘算出数据中键的哈希值,将其存放到哈希环顺 时针方向上第一个标志大于或即是键的哈希值的设备节点上。 4、Merkle 哈希树分析
永久性故障处置惩罚机制 在 节 点 失 效 超 过 了 设 定 时 间 后 , 如 果 没 有 发 现 节 点 可 以 重 用 , 则 Dynano 会认定该节点出现了永久性故障,例如磁盘损坏等。此时, Dynamo 需要从其他数据副本举行数据同步。在同步过程中,为了保障数据传输 的有用性, Dyamo 接纳 Metkie 哈希树技能”来加速检测和减少数据传输量。 Menke 哈希树可以为二叉树或多叉树,此中每个叶子特点的值为单个数据文件 的哈希值,非叶子节点的值为该节点全部子节点组合后的哈希值。当采 用 Merkle 哈希树检测数据是否划一时,系统会先比力根节点的值,如果值相 同则阐明全部数据划一,否则需要继续比力,直到哈希值差异的叶子节点。 Merkle 哈希树 A 和 B 的根节点值差异。进一步比力其子节点,发现左子节 点的值雷同,表明左子节点所覆盖的全部叶节点对应的数据文件划一;而右子节 点的值差异,则进一步比力其子节点,云云下去,直至发现原来在 4 中值 11 的 叶节点在 B 中变成了 17,表明该叶节点对应的数据需要重新同步。通过对每个 节点上每个区间的数据构建 Meikie 哈希树, Dynamo 可以快速地举行数据比 对,检测数据的一到性,并大大减少了需要传输的数据量,提高了系统效率。 5、Gossip 协议
成员资格及错误检测 由于 Dynamo 接纳了无中央的架构,每个成员节点都需要保存其他节点的路由信 息,以保障系统中各个节点之间数据转发顺畅。但由于机器或人为的因素, Dynamo 中添加而或删除节点的情况时常发生。为了保证每个节点都能拥有最新的成员节 点信息。Dymamo 中接纳了一种雷同于 Gossip 协议的技能,要求每个节点相隔固 定时间(秒)从其他节点中恣意选择一个与之通信。 节点 A 向 B 发送保存的全部节点版本,B 索要的节点信息 节点 B 向节点 A 发送比 A 新的节点信息 Dynamo 中还通过 Gossip 来实现错误 检测任何节点向其他节点发起通信后,如果对方没有回应, 则认为对方节 点失效 为了制止新加入的节点之间不能及时发现其他节点的存在,Dynamo 中设置 了一些种子节点( Seed Node)。种子节点和全部的节点都有联系。当新节点加 入时,它饰演一个中介的角色,使新加入节点之间互相感知
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]