FastDFS简单记:
FastDFS是一个开源的轻量级分布式文件系统,它是由淘宝的余庆开发的,基于c语言编写的。主要功能文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 在UC基于FastDFS开发向用户提供了:网盘,社区,广告和应用下载等业务的存储服务。 | |
---|---|
FastDFS服务端有三个角色:跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)。
**tracker server:**跟踪服务器,主要做调度工作,起负载均衡的作用。
**storage server:**存储服务器(又称:存储节点或数据服务器),文件和文件属性(meta data)都保存到存储服务器上。Storage server直接利用OS的文件系统调用管理文件。
Storage server(后简称storage)以组(卷,group或volume)为单位组织,一个group内包含多台storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。
**client:**客户端,作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。
上传机制
步骤:
1.客户端向跟踪服务器发送上传文件的请求,询问可以操作的存储服务器(不需要带参数);
2.跟踪服务器将一个存储服务器发送给客户端(ip+端口);
3.客户端直接和存储器交接。
下载机制
步骤:
1.客户端向跟踪服务器发送下载文件的请求,询问可以操作的存储服务器(需要带带文件名);
2.跟踪服务器将一个存储服务器发送给客户端(ip+端口);
3.客户端直接和存储器交接。