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 →