Resumable large-file upload

DesignMedium35 minAmazon style

Your task

Design a resumable large-file upload service for clients on flaky networks uploading multi-GB files (video, datasets, disk images). Constraints: uploads must survive dropped connections and resume without restarting, parts upload in parallel, the assembled object must be integrity-verified, partial/abandoned uploads must not leak storage forever, and the server should detect duplicate re-uploads cheaply. Cover the upload protocol, assembly, and cleanup.

It covers

  • Multipart upload
  • Chunking
  • Checkpoint resume