2017-10-16
FastDFS
开源的分布式文件系统,功能包括:文件存储、文件同步、文件访问(上传下载),解决大容量存储和负载均衡问题,适用于中小型文件(4KB<size<500M)。
FastDFS由客户端(client)、跟踪服务器(track server)、存储服务器组成(storage server)。
client:业务请求发起方,通过专有接口、TCP/IP与跟踪服务器或存储节点进行数据交互。
track server:FastDFS的协调者,负责管理所有的storage server 和group,每个storage server 启动后会连接track server ,告知自己所属的group等信息,并保持周期性心跳。track server 根据storage server的心跳信息,建立group->serverlist的映射表。
storage server:以组为单位进行组织,一个group内包含多个storage机器,数据互为备份(一个卷下的storages中的文件都是相同的),存储空间以group内容量最小的storage为准,以group为单位组织存储能方便的实现应用隔离(组(卷)之间的数据是相互独立的)、负载均衡(卷中的多台服务器起到冗余备份和负载均衡的作用)等。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
文件上传示意图: