使用FastDFS分布式文件系统目的:
- 海量存储,存储用量方便扩展
- 文件指纹,有高重复使用性
- 结合Nginx提高网站访问效率

上传流程
- Storage Server向Tracker Server定时发送上传状态信息
- Client向Tracker Server发送上传连接请求
- Tracker Server查阅可用的Storage
- Tracker Server向Client返回信息(Storage的IP和端口)
- Client向Storage Server上传文件(file content和metadata)
- Storage Server生成file_id
- Storage Server将上传内容写入磁盘
- Storage Server向Client返回file_id(路径信息和文件名)
- Client存储文件信息
下载流程
- Storage Server向Tracker Server定时发送上传状态信息
- Client向Tracker Server发送下载连接请求
- Tracker Server查阅可用的Storage(检验同步状态)
- Tracker Server向Client返回信息(Storage的IP和端口)
- 根据组名、路径、文件名Client向Storage Server下载文件
- Storage Server查找文件
- Storage Server向Client返回file_content