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
- Client first connects to Tracker Server to get available Storage Server address
- Client directly connects to specified Storage Server and uploads file data
- 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.