FastDFS简介

什么是FastDFS?

FastDFS是由淘宝的余庆先生开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:
• 文件存储
• 文件同步
• 文件访问(上传、下载)
• 存取负载均衡
• 在线扩容
适合有大量存储需求的应用或系统。
同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)(大数据会用这个)、TFS(淘宝)等

架构图

FastDFS简介_第1张图片
FastDFS两个主要的角色:Tracker ServerStorage Server 。
• Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。
• Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage server会启动一个单独的线程主动向Tracker cluster中每个tracker server报告其状态信息,包括磁盘使用情况,文件同步情况及文件上传下载次数同级等信息。
• Group:文件组,多台Storage Server的集群。上传一个文件到同组内的一台机器上后,FastDFS会将该文件及时同步到同组内的其他所有机器上,起到备份作用。不同组的服务器,保存的数据不同,而且相互独立,不进行通信。
• Tracker Cluster:跟踪服务器的集群,有一组Tracker Server(跟踪服务器)组成。
• Storage Cluster:存储集群,有多个Group组成。

上传和下载流程

FastDFS简介_第2张图片

  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,文件上传结束。
    FastDFS简介_第3张图片
  5. Client通过Tracker server查找要下载文件所在的的Storage server。
  6. Tracker server向Client返回包含指定文件的某个Storage server的IP地址和端口号。
  7. Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并指定要下载文件。
  8. 下载文件成功。

你可能感兴趣的:(Java,计算机基础)