欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FastDFS分布式文件系统架构

程序员文章站 2024-03-08 12:43:46
...

FastDFS分布式文件系统架构

一、 分布式文件系统

           FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。


FastDFS分布式文件系统架构
 

 

二、 FastDFS系统架构

FastDFS分布式文件系统架构
 
 


FastDFS分布式文件系统架构
 

角色一:tracker

tracker是客户端和storage交互的枢纽,主要做调度工作,起负载均衡的作用;

① 记录分组的信息;

② 记录存储服务器storage的信息;

③ 负载均衡;

④ 调度;

 

角色二:storage

① 存储图片等文件数据;

② 同一个group内的storage间,会进行数据同步;

③ storage服务器会定时向tracker上报状态信息;(本地同步时间、所有分组信息)

 

 

三、 FastDFS - 上传文件


FastDFS分布式文件系统架构

File file = new File("/Users/hyy044101331/Downloads/001.png");
String fileId = fileStorageService.uploadFile(file);
log.info("----------, fileId = {}" ,fileId);

  

 http://192.168.1.42/group1/M00/00/00/wKgBKlbUZYqAWrIYAADJGnU9rhU540.png

 

 

四、 FastDFS - 下载文件

 
FastDFS分布式文件系统架构
 

String outPath = "/Users/hyy044101331/Downloads/077.png";
byte[] bytes = fileStorageService.downloadFile(fileId);
File outFile = FileUtil.getFileFromBytes(bytes,outPath);

 

 

 

五、 文件访问路径

http://192.168.1.42/group1/M00/00/00/wKgBKlbUZYqAWrIYAADJGnU9rhU540.png

 

"192.168.1.42":  storage服务器ip;

"group1":   组名;

"M00":  虚拟磁盘路径;

"00/00":  数据2级目录;

              虚拟磁盘路径下的数据文件存储目录;

"xxx.png":  文件名,

                 影响文件名生成的因素:

                           ① client的ip;

                           ② 文件创建时间;

                           ③ 文件大小;

                           ④ 文件扩展名;

                           ⑤ 随机数;

        

 
FastDFS分布式文件系统架构