File Sync Service (Dropbox-style)
Chunk, deduplicate and sync files across devices with conflict resolution.
AdvancedMediaPlatform
Files are chunked and hashed for deduplication, uploaded to block storage, and a metadata service tracks versions per device; a sync client on each device watches for local changes and pulls remote deltas.
When to use it
- Large files need efficient re-sync (only changed blocks) rather than re-uploading whole files
- Multiple devices must reconcile concurrent edits to the same file
Trade-offs
- Conflict resolution for concurrent edits needs an explicit strategy (last-write-wins, versioned copies)
- Chunk-level deduplication and metadata tracking add real implementation complexity
Components used
Desktop AppManaged App ServiceRelational DatabaseObject StorageEvent Bus
How it works
- Files are split into content-addressed chunks, so only changed chunks are transferred and identical chunks are stored once across all users.
- Clients maintain local metadata and compare against server state to compute what changed on each side.
- Concurrent edits are detected by version vectors; the usual resolution is to keep both as conflicted copies rather than silently discard one.
Used in the wild
- Consumer and business file sync across devices.
- Backup products where incremental transfer is essential.
- Distributing large assets to many machines with heavy chunk reuse.
Good to know
- Deduplication across users is a large storage win but leaks information: if uploading a file completes instantly, someone else already had it. Per-user deduplication scopes avoid the side channel.
- Dropbox's early growth was driven by delta sync — editing one page of a large document uploaded kilobytes instead of the whole file, which felt like magic on 2008-era broadband.
Related system design
URL Shortener
Create short aliases, then redirect quickly from a cache-backed read path.
Pastebin / Snippet Hosting
Store snippets as text or markdown, retrieve them by id, and optionally render preview.
Web Crawler / Search Indexer
Discover pages, crawl them, extract content, and index for search.
Distributed Rate Limiter
Count and throttle requests globally across many gateway instances.