分布式文件系统

FastDFS是一个开源的高性能分布式文件系统。

它的主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),它可以解决高容量和负载平衡问题。

适合图片和视频网站

FastDFS有两个角色:

  • 跟踪器 :跟踪器负责文件访问的调度和负载平衡。
  • 存储:存储文件,它的功能是文件管理,包括:文件存储,文件同步,提供文件访问接口

可以集群部署,可以在不影响在线服务的情况下随时添加和删除集群。

数据存储:

store

访问图片文件效果:

file

注意:搭建好FastDFS还不能直接访问文件的,需要安装nginx ,配置模块后才能访问文件。

接下来就是在项目中使用Java代码操作fastdfs进行文件上传,删除等。

配置:

connect_timeout = 2
network_timeout = 30
charset = UTF-8
http.tracker_http_port = 80
http.anti_steal_token = no
http.secret_key = FastDFS1234567890
tracker_server = 192.168.96.128:22122

上传方法挺多的,可以选择上传到哪个分组

image-20200323114457908

         ClientGlobal.init(fileName);
TrackerClient tracker = new TrackerClient();
TrackerServer trackerServer = tracker.getTrackerServer();
StorageServer storageServer = null;
StorageClient client = new StorageClient(trackerServer, storageServer);
NameValuePair nvp[]=new NameValuePair[]{
		new   NameValuePair("name","template_center_right_bannerbg2.c51ed112.png"),
		new NameValuePair("desc","the test file")
};
String[] strings = client.upload_file(fileName,"png",nvp);

上传结果返回分组名称和文件名称

re