1 .介绍:
FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务器。
2.需要FastDFS安装
需要安装镜像包:打开虚拟机:
配置:
firewall-cmd --add-port=22122/tcp --permanent
firewall-cmd --add-port=23000/tcp --permanent
firewall-cmd --reload
3.简单实现
第一步配置:在resource创建.conf文件
tracker_server=192.168.188.146:22122
第二步java类:
public class FastDFSTest {
public static void main(String[] args)throws Exception {
//1.加载配置文件
ClientGlobal.init("./src/main/resources/fdfs.conf");
//2.创建调度服务器客户端对象 直接new
TrackerClient trackerClient = new TrackerClient();
//3.创建调度服务器服务端对象
TrackerServer trackerServer = trackerClient.getConnection();
//4.创建存储服务器的服务端对象 null
StorageServer storageServer = null;
//5.创建存储服务器的客户端对象
StorageClient storageClient = new StorageClient(trackerServer,storageServer);
//6.使用存储服务器的客户端对象调用上传方法,完成上传文件 参数一:本地文件的路径 xxx.jpg 参数二:文件扩展名 jpg
String[] strs = storageClient.upload_file("C:\\1.jpg","jpg",null);
for(String url:strs){
System.out.println(url);
}
System.out.println("上传成功");
}
}