IaaS层详细构成,如图4-3所示。
图4-3 LaaS层构成图
基础设施部分包括的服务器、交换机、网络设备等硬件设施须按“分布式集群”架构搭建。目前主流的“分布式集群”包括:“矩阵式分布集群”架构、“网状式分布集群”架构两种,具体如图4-4所示:
图4-4 基础设施架构图
“矩阵式分布集群”架构普遍采用梯形群组模型,如图4-5所示,当群组连接层次越深,受群组连接方式的限制,服务器性能瓶颈受限于网络性能无法发挥应有的能力。因此,“矩阵式分布集群”架构不适合部署云架构服务。具体特点如下:
1.分布式协议不能保证信息的及时传送,不具有实时功能;所有数据都需要经过根,对根的依赖性过大,根成为整个网络的瓶颈。
2.由于信道共享,连接的子节点不宜过多,根自身的故障可能导致系统瘫痪。
3.资源共享能力较低,传输延迟太高。
图4-5 梯形群组连接模型图
“网状式分布集群”架构,如图4-6所示。特点如下:
1.该架构基于分布式集群组接模式,采用网状群组连接模型来满足集群内所有节点的能力最大化及单元连接的合理性。
2.该架构由若干台服务器、千兆交换机和万兆交换机组成,可以分别在省级中心机房、地市级分机房、县级分机房进行部署;节点服务器具有2种以上类型的以太网口分别不同吞吐量的交换机。
3.各节点之间通过核心骨干网络进行连接,能根据用户数的增加实现在不中断业务的前提下平滑扩容,系统容量能够呈“线性增长”。
4.可根据终端用户的使用情况,自动化分配硬件设备能力。可综合用户区域、设备动态负载、用户访问体验等多方面数据,实现节点各项服务的智能调度及服务的动态部署。可根据业务规划的具体需求,实现有计划的动态部署,有序扩展。
5.根据用户访问的频度和各节点的系统资源分布、使用情况,在动态分布式环境下,逐级计算当前最优和次优路径进行部署不同的服务(例如推流服务、转码服务等),使节点资源可被动态部署、按需获取、智能调度。
6.在收视高峰期,集群主要或绝大部分计算能力用于视频推流能力,而在深夜或者凌晨的收视低谷期,平台的主要或绝大部分计算能力用于后台大数据预处理、后处理、媒资自动化预处理、后处理等任务工作。
图4-6 网状群组连接模型图
综上所述,“矩阵分布式集群”架构不适合部署云架构服务,“网状式分布式集群”架构比较适合,二者具体对比,如表4-2,4-3,4-4所示:
表4-2
基础设施清单:
表4-3
承载网络清单:
表4-4
虚拟资源层(基础软件服务架构)如图4-7所示:
图4-7 基础软件服务架构图
虚拟资源层:基础软件服务架构主要包括,数据管理系统,如HDFS、FastDFS;数据计算软件架构,如Google MapReduce、Hadoop MapReduce等;数据存储系统,如ApacheHBase;数据库及数据库管理系统,如Oracle、MySQL等。按顺序,核心在于底层的数据管理系统定义,因其对下与服务期基础设施架构直接配比关联;对上与计算、存储和应用对应。为此这里主要对比分析数据存储架构(软件层)、数据计算架构(软件层)内容。(www.daowen.com)
数据存储软件架构主要包括数据管理系统,如HDFS、FastDFS;数据存储系统,如ApacheHBase;数据库及数据库管理系统,如Oracle、MySQL等。核心在于数据管理系统,因其与基础设施架构直接配比关联,为此这里主要对比分析该部分内容。
当前比较主流的分布式数据管理系统包括:HDFS、FastDFS、Lustre、MogileFS、GoogleFS等。其中,Lustre,一种平行分布式文件系统,通常用于大型计算机集群和超级电脑。MogileFS是一个开源的分布式文件系统,用于组建分布式文件集群。GFS(googleFs)是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。HDFS为“网状式分布式集群”架构提供存储服务。FastDFS为“矩阵分布式集群”架构提供存储服务。因此,从与物理资源层基础设施架构对应角度,以下重点介绍HDFS、FastDFS。源自Apache开发的一套Hadoop分布式系统基础架构。Hadoop可实现用户在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem,简称HDFS)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingaccess)文件系统中的数据。Hadoop的框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算。Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,比如C++。Hadoop是目前最流行的分布式文件系统之一。具体特点是低成本。一般来说,HDFS部署在商用硬件上,例如您每天使用的台式机/笔记本电脑。所以,在项目的拥有成本方面是非常经济的。因为我们使用的是低成本的商品硬件,所以您无须花费大量资金来扩展Hadoop集群。换句话说,增加更多的节点到你的HDFS是具成本效益的。
数据的种类和数量:HDFS适合存储巨大的数据,即TB级和PB级的数据和不同类型的数据。所以,您可以将任何类型的数据存储到HDFS中,无论是结构化的、非结构化的还是半结构化的。
可靠性和容错性:当您将数据存储在HDFS上时,它会将给定的数据内部分割为数据块,并以分布的方式将其存储在Hadoop集群中。关于哪个数据块位于哪个数据节点上的信息被记录在元数据中。NameNode管理元数据,DataNode负责存储数据。名称节点也复制数据,即维护数据的多个副本。数据的这种复制使得HDFS非常可靠和容错。因此,即使任何节点失败,我们也可以从驻留在其他数据节点上的副本中检索数据。默认情况下,复制因子为3。因此,如果将1GB的文件存储在HDFS中,则最终将占用3GB的空间。名称节点定期更新元数据并保持复制因子一致。
数据完整性:HDFS不断检查存储的数据的完整性与其校验和。如果发现任何错误,它会向名称节点报告。然后,名称节点创建额外的新副本,因此删除损坏的副本。
高吞吐量:吞吐量是单位时间内完成的工作量,决定了如何从文件系统访问数据的速度。举个例子,如有10台机器或10台电脑,每台机器上有1TB的硬盘,如果您将Hadoop作为平台安装在这10台机器上,您将获得HDFS作为存储服务。Hadoop分布式文件系统以这样的方式分发,即每台机器都有自己的存储空间来存储任何类型的数据。当您从Hadoop集群中的10台机器中的任何一台访问Hadoop分布式文件系统时,您会感觉到您已经登录到一台具有10TB存储容量的大型机器(总计存储10台以上的机器)。这意味着您可以存储一个10TB的大文件,这个文件将分布在10台机器上(每个1TB)。所以,它不限于每台机器的物理边界。由于数据在机器上分配,因此我们可以利用分布式和并行计算。让我们通过上面的例子来理解这个概念。假设在一台机器上处理1TB文件需要43分钟。那么,如果在具有类似配置的Hadoop集群中有10台机器(43分钟或4.3分钟),处理相同的1TB文件需要多长时间?4.3分钟,对!这里发生了什么?每个节点并行处理1TB文件的一部分。因此,前43分钟的工作,现在只需要4.3分钟完成,因为工作分了10台机器。因此,通过并行处理数据,我们大大减少了处理时间,从而实现了高吞吐量。具体如下图4-8所示:
图4-8 “网状式分布式集群”架构
数据局部性:数据局部性讨论的是将处理单元移动到数据而不是数据到处理单元。在我们的传统系统中,我们曾经把数据带到应用层,然后进行处理。但是现在,由于数据的体系结构和庞大的数据量,把数据带到应用层会使网络性能显著降低。因此,在HDFS中,我们将计算部分带到数据所在的数据节点。因此,不移动数据,即可处理部分的数据。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能。跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。
存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS为“矩阵分布式集群”架构提供存储服务。服务终端架构图4-9:
图4-9 矩阵分布式集群服务终端架构图
HDFS与FastDFS对比。主要是定位和应用场合不一样。hadoop的文件系统HDFS主要解决并行计算中分布式存储数据的问题。其单个数据文件通常很大,采用了分块(切分)存储的方式;FastDFS主要用于大中网站,为文件上传和下载提供在线服务。所以在负载均衡、动态扩容等方面都支持得比较好,FastDFS不会对文件进行分快(切分)存储。
HDFS为“网状式分布式集群”架构提供存储服务,同时由于分布式存储和并行计算能力,以及高吞吐量等优势特点,非常适合于广电行业的大视频存储、分发和推送服务。目前,《财富》杂志50强上榜企业大多数使用了Hadoop架构。
FastDFS为“矩阵分布式集群”架构提供存储服务。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB<file_size<500MB)为载体的在线服务。影片网站、短视频网站、文档、APP下载站等,UC、京东、支付宝、迅雷、酷狗等都有使用,其中UC基于FastDFS向用户提供网盘、广告和应用下载的业务的存储服务。
FastDFS与HDFS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。