学习目标1)了解分布式文件系统的概念及应用场景
2)理解fastDFS的工作原理
3)掌握fastDFS存取文件方法
4)基于SpringBoot+fastDSf+vue.js实现图片服务
1 什么是分布式文件系统1.1 技术应用场景
传智播客拥有大量优质的视频教程,并且免费提供给用户去下载,文件太多如何高效存储?用户访问量大如何保证下载速度?今天讲解的分布式文件系统将解决这些问题 。
文章插图
1.2 什么是分布式文件系统
1.2.1什么是文件系统
引用"百度百科"中的描述:
文章插图
总结:文件系统是负责管理和存储文件的系统软件,它是操作系统和硬件驱动之间的桥梁,操作系统通过文件系统提供的接口去存取文件,用户通过操作系统访问磁盘上的文件 。如下图:
文章插图
常见的文件系统:FAT16/FAT32、NTFS、HFS、UFS、APFS、XFS、Ext4等。
思考:如果没有文件系统我们该怎么管理自己的文件?
文章插图
1.2.2什么是分布式文件系统
引用"百度百科"中的描述:
文章插图
为什么会有分布文件系统呢?
分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等 。
采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储,通过多台计算共同传输 。如下图:
文章插图
好处:
【程序员必看:Spring Boot+Vue.js+FastDFS实现分布式图片服务器!】1、一台计算机的文件系统处理能力扩充到多台计算机同时处理 。
2、一台计算机挂了还有另外副本计算机提供数据 。
3、每台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度 。
1.3 主流的分布式文件系统
1、NFS
文章插图
1)在客户端上映射NFS服务器的驱动器 。
2)客户端通过网络访问NFS服务器的硬盘完全透明 。
文章插图
2、GFS
1)GFS采用主从结构,一个GFS集群由一个master和大量的chunkserver组成 。
文章插图
2)master存储了数据文件的元数据,一个文件被分成了若干块存储在多个chunkserver中 。
3)用户从master中获取数据元信息,从chunkserver存储数据 。
文章插图
3、HDSF
文章插图
文章插图
1)HDFS采用主从结构,一个HDFS集群由一个名称结点和若干数据结点组成 。
名称结点存储数据的元信息,一个完整的数据文件分成若干块存储在数据结点 。
2)客户端从名称结点获取数据的元信息及数据分块的信息,得到信息客户端即可从数据块来存取数据 。
1.4分布式文件服务提供商
1)阿里的OSS
文章插图
2)七牛云存储
3)百度云存储
2 什么是fastDFS2.1 fastDSF介绍
FastDFS是用C语言编写的一款开源的分布式文件系统,它是由淘宝资深架构师余庆编写并开源 。FastDFS专为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务 。
推荐阅读
- Java程序员必须了解的20个lib库
- 揭秘 Shopify 的软件发布流程,如何做到合并上千程序员的工作?
- 程序员必上的十大网站!
- Springboot整合https原来这么简单
- Nginx 转发匹配规则,后端程序员不得不会 !
- 在校大学生创业必看的点子
- 为什么程序员都喜欢用Chrome浏览器?
- 程序员一般喜欢浏览网站,个人推荐
- 程序员和开发者,细品之下见差别
- Spring Boot 一个接口同时支持 form 表单、form-data、json 优雅写法