Resumable chunked upload
Your task
Design a resumable chunked upload service for a consumer file-sync product (think Dropbox) handling 50M daily uploads, files from 1KB to 50GB, over flaky mobile networks where a single TCP connection rarely survives a large transfer. Clients must be able to pause, resume after days, and switch networks without re-sending bytes. Read:write is roughly 4:1 and storage cost dominates the bill. Design the upload protocol, the chunk-tracking metadata, and how you deduplicate across users.
It covers
- Resumable upload
- Chunking
- Deduplication