SpringBoot整合FastDFS
前言
FastDFS简介:
- FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
- FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
- FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server
进行文件上传、下载,通过Tracker server 调度最终由 Storage server 完成文件上传和下载。 - Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。Storage server
作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上,Storage server没有实现自己的文件系统而是利用操作系统的文件系统来管理文件。可以将storage称为存储服务器。
文件上传流程:

客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。
一、安装FastDFS(使用Dokcer安装)
提示:没有安装Docker的可以参考文章
Docker入门(一)
1. 从镜像库中拉起fastdfs的镜像
docker pull morunchang/fastdfs
2. 运行tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
3. 运行storage
提示:TRACKER_IP务必换成自己的服务器ip
docker run -d --name storage --net=host -e TRACKER_IP=服务器IP:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
- 使用的网络模式是–net=host,host模式可以不用映射容器端口宿主机, 替换为你机器的IP即可
- GROUP_NAME是组名,即storage的组
- 如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名
二、FastDFS相关配置
1. 进入刚刚创建的storage容器
docker exec -it storage /bin/bash
2. 修改nginx配置
vi /etc/nginx/conf/nginx.conf
向nginx.conf配置文件中加入,如果已存在,请略过这一步
location ~ /M00 {
//数据存储路径
root /data/fast_data/data;
ngx_fastdfs_module;
//禁止缓存
add_header Cache-Control no-store;
}
修改保存完后退出并重启storage容器
3. storage和tracker配置文件(按需修改)
提示:不了解配置文件请跳过
再次进入storage容器
docker exec -it storage /bin/bash
进入配置文件目录
cd /etc/fdfs
storage.conf

tracker.conf

提示:如果修改了记得重启容器哦
三、编写FastDFS案例
1.引入库
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
SpringBoot整合FastDFS实战指南

本文详细介绍了如何在SpringBoot应用中整合FastDFS,包括使用Docker安装FastDFS,配置Tracker和Storage服务器,以及编写FastDFS的上传、下载和删除文件的案例。通过实例展示了FastDFS在实际操作中的步骤和效果。

最低0.47元/天 解锁文章
3514

被折叠的 条评论
为什么被折叠?



