包括Client、Tracker server和Storage server。
Client请求Tracker进行文件上传、下载,Tracker再调度Storage完成文件上传和下载。 Client: 客户端,业务请求的发起方,通过专有接口,使用TCP/IP协议与Tracker或Storage进行数据交互。FastDFS提供了upload、download、delete等接口供客户端使用。Tracker server:跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。Storage server:存储服务器(存储节点或数据服务器),文件和文件属性都保存到存储服务器上。Storage server直接利用OS的文件系统调用管理文件。 Storage群中的横向可以扩容,纵向可以备份。上传:
1、Storage Server 定时向 Tracker Server 上传状态信息
2、Client 上传链接请求到Storage Server
3、Tracker Server查询可用 storage
4、Tracker Server返回给客户端可用的Storage的IP和端口
5、Client 上传文件到 Storage Server
6、Storage Server生成 file_id
7、Storage Server 将上传内容写入磁盘
8、Storage Server 返回 file_id (包含路径信息和文件名)给Client
9、Client 存储文件信息
下载:
1、Storage Server 定时向 Tracker Server 上传状态信息
2、Client 下载链接请求到Storage Server
3、Tracker Server查询可用 storage
4、Tracker Server返回给客户端可用的Storage的IP和端口
5、发送file_id(包含组名、路径、文件名)到Storage Server
6、Storage Server根据file_id查找文件
7、Storage Server返回file_content给Client