System Design mülakat sorusuZorİşbirliği Sistemi

Dropbox benzeri dosya depolama servisi tasarla

Dropbox benzeri dosya depolama tasarla: yükle/indir, klasör listele, cihazlar arası metadata senkronu.

Mülakat kapsamı

Metadata ile baytı ayır: metadata için App + DB; dosyalar için Object Storage; indirme için CDN; istemci DB/object’e appsiz/imzasız konuşmasın.

Fonksiyonel gereksinimler

  • Dosya yükle ve indir.
  • Kullanıcı için klasör / dosya metadata listele.
  • Temel paylaşım linki veya izin (yüksek seviye yeterli).

Kalite ve ölçek hedefleri

  • Dosya baytları object storage’da — büyük dosyalar için birincil SQL BLOB’u değil.
  • Metadata (ad, yol, sahip, versiyon) veritabanında.
  • Yükleme/indirme mümkünse kenar/CDN ile ölçeklensin.

Kapasite varsayımı

Bu ölçeğe göre tasarla

~10M kullanıcı, kullanıcı başı ortalama ~15 GB → toplam ~150 PB mertebesi (kabaca). Tepe yüklemeler app yolu için önemli.

Diyagramdan fazlasını pratik et

Froquiz tuvalinde bileşenleri yerleştir, veri akışını bağla ve senaryoya özel incelemede eksik kararları gör. Ayrıntılı çözüm ve değerlendirme Premium ile açılır.

Premium'u incele