莫方教程网

专业程序员编程教程与实战案例分享

分布式存储架构最全详解(图文全面总结)

关注mikechen十余年BAT架构经验倾囊相授!


大家好,我是mikechen睿哥。


分布式存储架构是大型架构的必备技能,下面我就全面来详解分布式存储架构@mikechen

分布式存储架构

分布式存储架构,是当今处理海量数据和高并发访问的关键。

它通过将数据分散存储在多台独立的服务器上,并协调它们之间的协作,从而提供远超单机存储的容量、和扩展性。

理解其核心架构原理,是掌握分布式存储技术的基石。


Ceph:无中心存储架构

Ceph 是典型的无中心分布式存储系统,摒弃了中心调度节点,强调自治/与自动化。

不同于HDFS等依赖中心化元数据节点的系统,Ceph从根本上消除了单一瓶颈。

所有存储节点(OSD)都是对等的,它们共同存储数据和元数据。

并通过算法直接计算数据位置,而非查询中央服务器,避免了单点故障。

Ceph整体架构,如下图所示:

CRUSH是Ceph实现无中心化的核心,它是一种智能的数据分布算法。

根据集群拓扑结构、存储设备的权重和副本策略,直接计算出数据对象应存储在哪些OSD上。

OSD ,实际存储数据的基本单元,通常对应一个磁盘。

OSD进程负责数据读写、复制、故障检测和恢复。


HDFS:大数据存储架构

HDFS (Hadoop Distributed File System), 是Apache Hadoop项目的核心,专为大规模批处理和大数据分析而设计。

HDFS采用经典的主从架构,如下图所示:

主要会包含:NameNode (主节点)、DataNode (从节点)两大核心组件。

+---------------------+|Client|+---------------------+|+---------+----------+||+-----------++-------------------+|NameNode|<-->|SecondaryNameNode|+-----------++-------------------+|+----------+-----------+-----------+||||+------++------++------++------+|DataNode||DataNode||DataNode||...|+------++------++------++------+


NameNode (主节点)

NameNode (主节点),是HDFS的“大脑”。

负责管理文件系统的命名空间(目录树、文件属性),以及文件块(Block)到DataNode的映射关系。

所有的元数据都存储在NameNode的内存中,这使得元数据访问速度极快,但也限制了HDFS能管理的文件数量。

为了解决单点故障问题,现代HDFS通过JournalNode实现了NameNode的高可用(Active/Standby模式)。

DataNode (从节点)

负责存储实际的文件数据块,HDFS 的最小存储单位(默认 128MB 或 256MB)。

同一块数据一般保留多个副本(默认 3 份)分布在不同节点。

DataNode定期向NameNode发送心跳和块报告,汇报自己存储的块列表和健康状态。

HDFS采用主从架构,简单清晰,适合大规模分布式部署。


MinIO:轻量级存储架构

MinIO 是一个高性能、轻量级的分布式对象存储系统,S3 兼容。

适合私有云和边缘计算场景,强调简单部署。

与Ceph类似,MinIO没有独立的元数据服务器。

每个MinIO节点都直接存储、和管理其所拥有的数据和元数据。

MinIO的核心优势:在于它实现了Amazon S3协议的API。

这意味着任何针对S3开发的应用程序或工具,无需修改即可与MinIO进行交互。

这种兼容性极大地降低了学习和迁移成本,并使得MinIO能够融入庞大的S3生态系统。


Amazon S3:云对象存储架构

Amazon S3 是云对象存储的标杆产品,提供高可用、高持久、弹性扩展的全托管对象存储服务

S3的底层是一个极其庞大和复杂的分布式系统,由亚马逊全球范围内数。以万计的服务器、存储设备和网络组件构成。

全球可用、弹性扩展无需人工干预,与 AWS 生态无缝集成(Lambda、Athena、Glue 等)。

可以用于,海量数据的持久化存储(如图像、视频、日志),跨区域容灾、多云备份。。。等等。

以上

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言

    滇ICP备2024046894号-1