软件设计:高可用+可伸缩存储方案

    作者:JaxYoun更新于: 2020-04-11 21:24:18

      Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。

      HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为ApacheNutch搜索引擎项目的基础架构而开发的。HDFS是ApacheHadoopCore项目的一部分。

      高可用+可伸缩存储方案

      1满足高可用,唯一的办法是副本镜像方案。

      2满足可伸缩,唯一的办法是分片方案。

      3业界实践证明,先将全量数据分片,再对分片做多副本镜像这样的组合方案,在资源利用率、可用性、伸缩性各方面都很均衡。如HDFS、RedisCluster、RocketMQ等都是采用这种组合方案来存储数据的。

      4这种思想在存储领域是广泛存在的,不光在软件层面,在存储硬件层面也采用了类似的解决方案,代表方案是冗余磁盘阵列——RAID

      Raid0是多个磁盘线性串联,形成对全量存储空间的分片,仅满足弹性伸缩;

      Raid1则是让多个磁盘形成主备实现冗余,仅满足高可用;

      Raid10则是结合以上二者实现高可用+弹性伸缩。

      HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streamingAccess)文件系统中的数据。

课课家教育

未登录