标签:
在讲解fastdfs的上传、下载和删除流程之前,我们先介绍fastdfs中的工程流程:首先客户端client 调用fastdfs的api,获取可用的tracker server ,
再调用tracker server 获取可用的组,tracker server 通过负载均衡返回一个最优的storage server,这样客户端与client就建立了连接,client就可
以调用storage server对文件进行上传、删除和追加的操作。
下面我们将结合时序图的方式给大家详细讲解fastdfs的上传、下载和删除各个角色的交互流程:
文件上传交互流程
从上图中我们可以看出整个交互过程分为3步:
上传成功后,storage将会返回一个字符串数组,其中results[0]:卷名即组,results[1]:文件名(包含在文件系统的目录结构)。
在FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
组group如group1,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)
拼接而成。如:/group2/M00/00/01/goQeAFUjqu2AdlUPABHKPTiTXBY295.jpg
具体的访问地址需自己在代码中拼上域名和端口号如:http://xxx.xxx.com:8002/group2/M00/00/01/goQeAFUjqu2AdlUPA
BHKPTiTXBY295.jpg
需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。
文件上传类型有3种:
下载文件交互过程
下载文件交互过程
从上图中我们可以看出整个交互过程分为3步:
文件删除交互过程
文件删除交互过程
从上图中我们可以看出整个交互过程分为3步:
删除成功后,返回int类型的结果值0:文件删除成功,2:文件不存在 ,其它:文件删除出错;
注:本文部分图和文字参考网络相关资料
fastdfs分布式文件系统文件上传、下载、删除交互过程讲解
标签:
原文地址:http://blog.csdn.net/mr_smile2014/article/details/52101332