为什么会有分布式文件系统?
- 分布式文件系统是面对互联网的需求而产生。因为互联网时代要对海量数据进行存储。很显然靠简单的增加硬盘个数已经满足不了我们的要求。
- 因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等。
- 采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储通过多台计算机共同传输。

FastDFS 的架构图:

FastDFS 架构包括 Tracker server (追踪服务器) 和 Storage server (存储服务器) 。客户端请求Tracker server 进行文件上传、下载,通过其调度最终由 Storage server 完成文件上传和下载。
- Tracker
- Tracker Server 作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略0找到Storage server提供文件上传服务。可以将tracker称为 追踪服务器 或 调度服务器
- Storage
- Storage Server 作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storageserver 没有实现自己的文件系统而是使用操作系统的文件系统来管理文件。可以将storage称为 存储服务器。
FastDFS 的应用场景:
文件存储: FastDFS可以用于存储用户上传的图片、视频、文档等文件。由于其分布式架构,FastDFS能够应对高并发访问,并支持在线扩容。
媒体存储与访问: 对于需要存储和快速访问大量媒体文件的场景,如视频网站或图片库,FastDFS能够提供稳定、高效的文件存储服务。
分布式系统:FastDFS适用于构建分布式系统,通过分布式部署来提高系统的可用性和可扩展性。
数据备份与恢复: FastDFS可以用于存储和备份各类数据,如数据库备份、用户数据备份等。由于其文件去重功能,可以有效降低存储空间占用。
文件共享与传输: FastDFS可以用于实现文件共享和传输,如在线办公、文件同步等场景。
文件存储: FastDFS可以用于存储用户上传的图片、视频、文档等文件。由于其分布式架构,FastDFS能够应对高并发访问,并支持在线扩容。
媒体存储与访问: 对于需要存储和快速访问大量媒体文件的场景,如视频网站或图片库,FastDFS能够提供稳定、高效的文件存储服务。
分布式系统:FastDFS适用于构建分布式系统,通过分布式部署来提高系统的可用性和可扩展性。
数据备份与恢复: FastDFS可以用于存储和备份各类数据,如数据库备份、用户数据备份等。由于其文件去重功能,可以有效降低存储空间占用。
文件共享与传输: FastDFS可以用于实现文件共享和传输,如在线办公、文件同步等场景。
FastDFS跟云端存储的区别:
- FastDFS的成本比七牛云等云端存储低
- FastDFS是开源的轻量级分布式文件存储系统。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
- FastDFS中相同内容的文件只存储一份,能节约磁盘空间。
- 支持在线扩容、增强系统的可扩展性
- 支持主从文件,支持自定义扩展名

安装:
- go-fastdfs服务地址:https://github.com/sjqzhang/go-fastdfs/releases
- go-fastdfs后台管理端地址:https://github.com/perfree/go-fastdfs-web
1、安装go-fastdfs服务
下载
第一步,打开go-fastdfs的服务地址,滑到下面下载Windows版本的服务

第二步,打开go-fastdfs后台管理端地址点击这里


安装服务与管理端台可视化
1、将下载好的,压缩包和exe文件放到自已指定的文件夹下

(1)
首先进入到我们下载的目录中:
(2)
然后我们在当前目录下进入
cmd,
并输入
fileserver.exe server,或者编写启动类
(3)
然后我们回到服务所在的目录,会看到多出几个文件夹和文件


默认的端口号是
8080
(4)
可以在
conf
文件夹中
cfg.json
文件来配置修改端口号等属性

2
、安装
go-fastdfs
后台管理服务
(1)
进入到我们下载的目录中:

go-fastdfs
后台管理服务的压缩包
go-fastdfs-web-v1.3.7.zip
(2)
解压文件,如下图:

其中:
conf
: 文件夹里面的
application.yml
文件是用来配置服务的属性的。
go-fastdfs-web.jar
: 后台管理界面
jar
包
goFastDfsWeb.sh
:
linux
启动
start.bat
:
windows
启动
(
压缩包自带
)
(3)
配置端口:

(4)
接下来点击
start.bat
启动后台管理服务
3
、访问后台管理页面配置
gofastdfs
界面
(1)
根据自己设置的后台管理
ip
访问
(
我这里设置的是
8001)
:

第一次访问时会提示未检测到本地的
GoFastDfs
服务,是因为它会自动去找
127.0.0.1:8080
,
而我们在这里修改了默认端口!
(2)
设置各项属性,如图所示:

然后点击下一步,进行账号配置:
根据自己需求进行填写即可,然后点击安装,稍等片刻就完成啦!
(3)
然后我们使用刚才创建的账号进行登录:

出现该界面就意味着已安装成功。