Design Philosophy

Lightweight

Tracker Server’s core function is to manage Storage Server grouping and status information, caching only this critical information in memory.

Block Storage

FastDFS uses group-based storage, where the cluster consists of one or more groups.

  • A group consists of one or more storage servers
  • Multiple Storage Servers within the same group have peer backup relationships

Peer Architecture

Multiple Tracker Server instances can be deployed, with nodes completely equal to each other, with no primary-secondary distinction.

Function Principles

File Upload

  1. Client first connects to Tracker Server to get available Storage Server address
  2. Client directly connects to specified Storage Server and uploads file data
  3. Storage Server assigns storage path for the file, generating a unique file ID

File ID Format

File ID uses “group name/two-level directory structure/file name” format:

group1/M00/00/01/wKjHhGZxHr-ACpFXAAABg7VdQ7U123.jpg

Storage Sync Principle

Each storage writes a binlog after writing a file, and storage records the sync progress to other storages in the group.