FastDFS

FastDFS是一个开源的高性能分布式文件系统,它的主要功能包括文件存储,文件上传和文件下载,解决高容量负载均衡问题。FastDFS应该满足基于照片共享站点和视频共享站点等文件服务的网站的要求。

支持存储服务器在线扩容,支持相同的文件只保存一份,节约磁盘。
FastDFS只能通过Client API访问,不支持POSIX访问方式。
FastDFS适合中大型网站使用,用来存储资源文件(如:图片、文档、视频等)

tracker server(跟踪器):跟踪器负责文件访问的调度负载平衡

storage server(存储器):存储器负责文件管理,包括文件存储,文件同步,文件提供存取接口它还管理作为表示文件的键值对的属性的元数据

跟踪器和存储包含一个或多个服务器。跟踪器或存储群集中的服务器可随时添加到群集或从群集中删除,而不影响在线服务。跟踪器集群中的服务器是对等的

由文件卷/组织组织的存储服务器获得高容量。存储系统包含一个或多个文件在这些卷中独立的卷。整个存储系统的容量等于所有容量的总和。文件卷包含一个或多个在这些服务器中文件相同的存储服务器。文件卷中的服务器相互备份,所有这些服务器都是负载均衡将存储服务器添加到卷时,将自动将此卷中已有的文件复制到此新服务器,并且在完成此复制时,系统会将此服务器联机切换到提供存储服务

1)Tracker cluster中各个tracker server相互独立,不进行相互通信。
2)Storage cluster中各个storage组(Volume1,Volume2...)相互独立,不进行相互通信,也就是说各个组之间保存的数据是不相同的。但是各个组中的storage server之间是属于互相备份的关系,也就是说storage server之间保存相同的数据。
3)每个storage server会启动一个单独的线程主动向Tracker cluster中每个tracker server报告其状态信息,包括磁盘使用情况,文件同步情况及文件上传下载次数统计等信息。

文件上传

1)Client通过Tracker server将文件上传到Storage server。
2)Tracker server向Client返回一台可用的Storage server的IP地址和端口号。
3)Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并进行文件上传。
4)上传完成,Storage server返回Client一个文件ID,文件上传结束。

文件下载

1)Client通过Tracker server下载指定Storage组中某个Storage server上的某个文件(文件名包括Storage组名称)。
2)Tracker server向Client返回一台可用的Storage server的IP地址和端口号。
3)Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并进行文件下载。

原文地址:https://www.cnblogs.com/pengrj/p/8780920.html