技术应用场景
bilibili网站上有大量的优秀视频课程,并且免费提供给用户下载,文件太多如何提高存储效率?用户访问量大如何保证下载速度?分布式文件系统来解决。
我们可以根据区域用户量来配置多台服务器,通过网络连接起来,共同为所有用户提供服务。
什么文件系统
文件系统负责管理和存储文件,操作系统通过文件系统提供的接口去存取文件。
常见的文件系统:FAT16/FAT32、NTFS、HFS、UFS、APFS、XFS、Ext4等。
什么是分布式文件系统
文件系统管理的物理存储资源不一定直接连接在本地节点,而是通过网络与节点相连。
它的好处:
- 将一台计算机的文件系统处理能力扩充到多台计算机同时处理。
- 一台计算机挂了,还有另一台计算机提供数据。
- 每一台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度。
主流分布式文件系统
NFS网络文件系统
GFS(googleFs)
GFS是一个可扩展的分布式文件系统,用于大型的,分布式的,对大量数据进行访问的应用。它运行于普通的硬件上,可以提供容错功能。
HDFS(Hadoop)
Datanodes负责分块存储
Namenode负责记录块文件的信息
Client客户端会想请求Namenode存储文件,然后它真正把文件分块存储到来Datanodes
HDFS采用主从结构,一个HDFS集群由一个名称节点和若干个数据节点组成。名称节点存储数据的元信息,一个完成的数据文件分成若干块存储在数据节点。
分布式文件服务提供商
阿里的OSS,阿里云高可用云存储服务。
七牛云存储
百度云存储