-
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
-
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
-
FastDFS由阿里资深架构师余庆开发。
Fastdfs原理
FastDFS包含Tracker Server和Storage Server;客户端请求Tracker Server进行文件的上传与下载;Tracker Server调度Storage Server最终完成上传与下载。
-
Tracker (追踪者)
-
作用是负载均衡和调度,它管理着存储服务(Storage Server),可以理解为:“大管家,追踪者,调度员”;
-
Tracker Server可以集群,实现高可用,策略为“轮询”。
-
-
Storage (贮存器)
-
作用是文件存储,客户端上传的文件最终存储到storage服务器上;
-
storage集群采用分组的方式,同组内的每台服务器是平等关系,数据同步,目的是实现数据备份,从而高可用,而不同组的服务器之间是不通信的;
-
同组内的每台服务器的存储量不一致的情况下,会选取容量最小的那个,所以同组内的服务器之间软硬件最好保持一致。
-
Storage Server会连接集群中的所有Tracker Server,定时向他们汇报自己的状态,例如:剩余空间,文件同步情况,文件上传下载次数等信息。
-
上传文件流程
查询文件流程