🎉 75% of content is free forever — Unlock Premium from $10/mo →
CW
đŸ’ŧ Servicesâ„šī¸ Aboutâœ‰ī¸ ContactView Pricing Plansfrom $10

Design Dropbox

System Design ProblemsFile Storage SystemsđŸŸĸ Free Lesson

Advertisement

System Design Problems

Design Dropbox

Dropbox serves 500M+ users with 2B+ files synced daily. This design covers file chunking, real-time synchronization, conflict resolution, and collaborative editing.

  • Scale — 500M+ users, 2B+ files, 10M+ concurrent
  • Sync — Real-time with < 1 second propagation
  • Storage — Exabytes of user files with deduplication

Dropbox's core challenge is maintaining file consistency across millions of devices while handling conflicts gracefully.

Requirements Clarification

Functional Requirements

  1. Upload and download files
  2. Automatic file synchronization across devices
  3. File versioning and history
  4. Share files and folders with others
  5. Offline access with sync on reconnect
  6. Conflict detection and resolution

Non-Functional Requirements

  1. Availability: 99.99% uptime
  2. Durability: 99.999999999% (11 nines)
  3. Consistency: Strong for file metadata, eventual for content
  4. Scale: 500M users, 10M concurrent

Back-of-the-Envelope Estimation

High-Level Architecture

Dropbox ClientAPI Gateway / Load BalancerSync SvcMetadata SvcChunk SvcStorage SvcShare SvcNotification SvcMessage Queue (Kafka)MySQL (Metadata)S3 (Chunks)Redis (Sync)MongoDB (Shares)WebSocket (Push)

File Chunking and Deduplication

Synchronization Protocol

Device ASync ServiceMetadata DBObject StoreDevice B

Conflict Resolution

Data Model

Practice Exercises

  1. Sync Design: How would you handle syncing a 10GB file where only 1 byte changed?
  2. Conflict: Design a conflict resolution system for collaborative document editing.
  3. Offline: How would you handle a user editing files offline for a week, then reconnecting?
  4. Storage: Design a deduplication system for 1 EB of user files.

What to Learn Next

-> Design Google Search Web-scale indexing and search.

-> Design WhatsApp Messaging and real-time delivery.

-> Idempotency Handling duplicate requests safely.

-> Outbox Pattern Reliable event publishing.

-> Strangler Fig Incremental migration strategies.

-> Retry Patterns Resilient retry mechanisms.

Need Expert System Design Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement