FastDFS 轻量级分布式文件系统

1. FastDFS介绍

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

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

在这里插入图片描述

FastDFS架构: 包括ClientTracker serverStorage server

Client请求Tracker进⾏⽂件上传、下载,Tracker再调度Storage完成⽂件上传和下载。 Client: 客户端,业务请求的发起⽅,通过专有接⼝,使⽤TCP/IP协议与Tracker或Storage进⾏数据交互。FastDFS提供了upload、download、delete等接⼝供客户端使⽤。

Tracker server:跟踪服务器,主要做调度⼯作,起负载均衡的作⽤。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。

Storage server:存储服务器(存储节点或数据服务器),⽂件和⽂件属性都保存到存储服务器上。Storage server直接利⽤OS的⽂件系统调⽤管理⽂件。Storage群中的横向可以扩容,纵向可以备份。

2. FastDFS上传和下载流程

  • client询问tracker上传到的storage,不需要附加参数;
  • tracker返回一台可用的storage;
  • client直接和storage通讯完成文件上传。

在这里插入图片描述

  • client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
  • tracker返回一台可用的storage;
  • client直接和storage通讯完成文件下载。

在这里插入图片描述

3. FastDFS⽂件索引

group1/M00/00/00/wKgVjV_jUFqAYzZbAAFNF-5NQK4351.png

⽂件索引file_id:是客户端上传⽂件后Storage返回给客户端的⼀个字符串,是以后访问该⽂件的索引信息。

⽂件索引(file_id)信息包括:组名、虚拟磁盘路径、数据两级⽬录、⽂件名等信息。
组名:⽂件上传后所在的 Storage 组名称。
虚拟磁盘路径:Storage 配置的虚拟路径,与磁盘选项store_path*对应。
如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。
数据两级⽬录:Storage 服务器在每个虚拟磁盘路径下创建的两级⽬录,
⽤于存储数据⽂件。
文件名:由存储服务器根据特定信息⽣成,⽂件名包含:源存储服务器IP地址、⽂件创建时间戳、⽂件⼤⼩、随机数和⽂件拓展名等信息。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_68744965/article/details/129147086