Design File Sync Like Dropbox
HardSystem design · File Storage
Design a file sync service like Dropbox: a desktop client watches a local folder and keeps it identical across a user's devices and shared folders. Scale: 500M devices, about 1B file changes per day, files up to tens of GB. Focus on the sync protocol: chunking and deduplication, resumable upload, an ordered change journal each client catches up from, conflict handling, and version history. Real-time collaborative editing and fine-grained document permissions belong to Google Drive and Google Docs, not here.
Requirements
- Large files upload in resumable chunks, and an edit transfers only changed data
- Identical content is stored once across accounts, without letting someone claim a file they do not have
- Devices converge from an ordered change journal after being offline for days
- Conflicting edits never silently lose data; deletes and renames are handled at the tree level