文件服务器架构逻辑

2016-11-08

客户端 <–> 文件服务器代理 <–> FDFS


1. 概述

文件服务器是 FDFS(FastDFS)文件存储系统的一个代理。

客户端在上传文件前,需要计算文件 md5 指纹,客户端通过指纹与服务器交互,如果指纹已在服务器存库,那说明该文件曾经上传,如果文件状态是上传完毕,那么无需重复上传,也就是秒传。因为在文件内容里不保存文件名,换句话说,文件服务器只保存文件内容,并不保存文件名,文件名和文件目录由其它业务服务进行维护。所以文件服务器与其它业务系统没有耦合关系。

  • 支持 HTTP/TCP 协议。
  • 支持小文件上传,下载,续传,秒传等基本功能。
  • 支持本地文件缓存,针对热点文件上传下载。
  • 不支持文件加密,文件目录等逻辑功能。
  1. 文件信息需要建立与业务信息建立关系,请客户端上传或者下载成功文件后,再向相关的业务服务器添加关联的存储记录。

  2. 文件服务只支持小文件存储,大文件可以在客户端进行切割成小文件。


2. 架构

文件服务器架构

对象 描述
client 客户端
lvs 服务器集群系统负载均衡
file server 文件服务器
file 存储磁盘文件
mysql 文件服务器记录文件信息以及 fdfs 对应的文件索引信息。
fdfs FastDFS是一个开源的轻量级分布式文件系统。

3. 逻辑时序

逻辑时序