System Design mülakat sorusuZorSosyal / Feed

Twitter veya Facebook benzeri bir haber akışı tasarla

Twitter/Facebook tarzı haber akışı tasarla: kullanıcı paylaşır, takipçiler kişiselleştirilmiş timeline’ı hızlı görür.

Mülakat kapsamı

Client → Gateway/LB → App → Cache + DB; fan-out/async için Message Queue. Client → DB/Cache yok.

Fonksiyonel gereksinimler

  • Gönderi oluştur.
  • Kullanıcı için home/timeline oku.
  • Takip ilişkilerini yüksek seviyede ele al.

Kalite ve ölçek hedefleri

  • Feed okuması hızlı olmalı (cache dostu).
  • Çok takipçiye yayın gerektiğinde async fan-out kullan.
  • Her scroll’da cache’siz tüm feed’i ham postlardan yeniden kurma.

Kapasite varsayımı

Bu ölçeğe göre tasarla

~100M DAU, kullanıcı başı günde ~2 post, feed okuma >> yazma. Celebrity fan-out zor kısım.

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