SpringBoot整合FastDFS

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

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>
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会代码的蛋蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值