前言
前端时间使用宝塔面板去实现FTP的功能,可是图片效果并不理想,并且对于公司而言,基于这样简单的文件服务器是不适用的。找了一下,发现了FastDFS。我一想,出去又可以吹嘘使用了分布式文件系统,节约了大量的资源,加快了系统运行速度。现在如今的项目都基于docker进行管理,我查看了大量大佬们写的blog后逐步实现。最后效果:docker部署fastDFS服务,并且在内网部署了Spring boot编写的服务对外提供操作接口,这样更加符合开发规范,这样的架构也更好。
参考链接
docker 安装 FastDFS https://www.cnblogs.com/provence666/p/10987156.html
我按着链接实现
1.查找Docker Hub上的redis镜像
docker search fastdfs
2.拉取镜像
docker pull delron/fastdfs #拉取最新版本
3.查看镜像
docker images
4.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用):
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
5.使用docker镜像构建storage容器(存储服务器,提供容量和备份服务):
docker run -dti --network=host --name storage -e TRACKER_SERVER=192.168.56.1:22122 -v /var/fdfs/storage:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs storage
这是我放在码云的代码: https://gitee.com/cfhcom/FastDFS
FastDFS分布式文件系统访问中台
介绍
基于fastdfs-client-java再次封装,使用Json定义进行传输,将返回文件对象,易于后续操作使其更符合项目开发 官方github地址:fastdfs-client-java fastdfs-client-java: https://github.com/happyfish100/fastdfs-client-java 项目fastDfs基于docker安装,参考链接https://www.cnblogs.com/provence666/p/10987156.html 因为我使用内网搭建,所以单独搭建一个访问中台。如果在阿里云ESC公网环境下需要开通端口,按照教程能够实现。
软件架构
1、fdfs_client.conf中修改tracker_server = 127.0.0.1:22122 2、maven导报失败,可以使用github上的代码进行编译,进行本地导入或者本地maven仓库导入 3、修改FastDFSUtils中的TrackerUrl地址