03.28 分布式文件系统「FastDFS」工作原理及使用小结

目录

•FastDFS简介

• 系统架构

• 相关术语

• 同步机制

• 通信协议

• 目录结构

• 安装和运行

• 和其他系统对

FastDFS简介


  1. 开源的轻量级分布式文件存储系统

  2. 拥有负载均衡,可以解决大容量的文件存储和高并发访问的问题

  3. 磁盘阵列(RAID)的软件方式实现,利用廉价的I硬盘进行文件存储

  4. 轻易实现存储服务器在线扩容 功能

  5. 支持相同内容的文件只保存一份,节约磁盘空间

  6. 只可以通过Client API访问,不支持通过POSIX访问方式

  7. 适用场景为大中型网站,一般用来存储资源文件(图片、视频等等)

分布式文件系统「FastDFS」工作原理及使用小结

系统架构


整体架构图

分布式文件系统「FastDFS」工作原理及使用小结

架构图

文件上传流程示意


分布式文件系统「FastDFS」工作原理及使用小结

具体过程描述:

1. client客户端询问tracker上传到的storage,此时不需要附加参数;

2. tracker会返回一个可供使用的storage;

3. client客户端直接和可用的storage通讯,这样就完成了文件的上传。

文件下载流程示意图


分布式文件系统「FastDFS」工作原理及使用小结

1. client客户端询问tracker下载文件的storage,参数为文件标识(组名和文件名);

2. tracker马上提供一台可用的storage;

3. client客户端和storage通讯,直接完成文件的下载。

相关术语


•Tracker Server:跟踪服务器,负责调度,在访问上起负载均衡的作用。记录storage server的状态,是连接Client和Storage server的桥梁。

• Storage Server:存储服务器,文件和meta data都保存到存储服务器上

• group:组,也可称为卷。同组内服务器上的文件是完全相同的

• 文件标识:包括两部分:组名和文件名(包含路径)

• meta data:文件相关属性,键值对(Key Value Pair)方式,如:width=1024,heigth=768

分布式文件系统「FastDFS」工作原理及使用小结

同步机制


•同一组内的storage server之间是对等的,文件上传、删除等操作可以在任意一台storage server上进行;

•文件同步只在同组内的storage server之间进行,采用push方式,即源服务器同步给目标服务器;

•源头数据才需要同步,备份数据不需要再次同步,否则就构成环路了;

•上述第二条规则有个例外,就是新增加一台storage server时,由已有的一台storage server将已有的所有数据(包括源头数据和备份数据)同步给该新增服务器。

分布式文件系统「FastDFS」工作原理及使用小结

通信协议


•协议包由两部分组成:header以及body

• header共10字节,格式如下: –8 bytes body length – 1 byte command – 1 byte status

• body数据包格式由具体的命令的决定,body可以为空

分布式文件系统「FastDFS」工作原理及使用小结

运行时目录结构


1.tracker server

分布式文件系统「FastDFS」工作原理及使用小结

2.storage server

分布式文件系统「FastDFS」工作原理及使用小结

安装和运行命令


分布式文件系统「FastDFS」工作原理及使用小结

FastDFS和传统的集中存储方式的对比


分布式文件系统「FastDFS」工作原理及使用小结

FastDFS和mogileFS的全面对比


分布式文件系统「FastDFS」工作原理及使用小结


分享到:


相關文章: