|
|
51CTO旗下网站
|
|
移动端

3.4.1.3 流层(Stream Layer)

《Microsoft Azure 管理与开发(下册)平台服务PaaS》本书由世纪互联蓝云Microsoft Azure 开发技术支持团队的资深工程师们编写,主要阐述MicrosoftAzure PaaS 服务的开发应用,涉及计算服务、集成认证服务、数据存储服务、大数据服务等方面的内容。本节为大家介绍流层(Stream Layer)。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-13 12:35

3.4.1.3 流层(Stream Layer)

流层是存储群集物理存储层,负责在多个服务器之间分发和复制数据,可以认为流程是存储群集中的分布式文件系统层。该层主要提供以下功能:

追加模式的分布式文件系统;

将来自分区层的所有数据都存储在分布式文件系统中;

保障本地及跨数据中心故障及升级域的冗余复制;

存储数据的完整性校验;

磁盘、节点、机架故障或校验和不匹配时进行重新复制。

流层向分区层提供了一组内部文件系统接口,仅允许分区层打开、关闭、重命名、删除、读、追加和连接这些被称之为“流”的大文件。对于分布式文件系统,比如HDFS,往往大文件被拆分成若干个小块,这些小块会平衡分布在集群的多个节点之上,而且每个小块会提供冗余备份。一个文件由哪些块构成,这些块的顺序、位置信息都会被维护起来,由Namenode 统一管理。存储流程整体机制与之类似,存储中的流文件同样由若干个有序块(Block)构成,而这些块会被有序分组到不同的区域(Extent)中。如文件“// foo”,实际指向了4 个区域,包括E1、E2、E3、E4,因为块的有序性,E1、E2、E3 是密封,这意味着无法在其后写入新的块,只能向最后一个区域E4 的尾部追加新的块,如图3.4.1-6所示。

上文提到HDFS 文件系统中,Namenode 负责管理文件的命名空间、块构成及位置信息。存储流层中的流管理器(SM)与之类似,SM 是一个标准Paxos 集群,主要功能包括:

维护流命名空间和所有活动流的状态;

监测区域节点(Extent Node)的健康状况;

创建和扩展区域,分配到区域节点;

执行懒复制;

垃圾收集,回收不在指向任何流的区域(Extent)。

区域节点(Extent Node)一般由多个附加磁盘构成,只负责处理区域(Extent)副本和区域所包含的块(Block)。在一个区域节点上,每个区域(Extent)在磁盘上其实就是一个文件,这个文件包含一组有序数据块(Blocks)、校验和(Checksums)、区域映射到块的索引及文件的位置。SM 与EN 交互流程,如图3.4.1-6 所示。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Head First 设计模式(中文版)

本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这本书的用法;第1章到第11章陆续介绍的设...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊