System Design mülakat sorusuZorML / Kişiselleştirme
Bir öneri (recommendation) sistemi tasarla
Öneri sistemi tasarla: kullanıcıya hızlı kişiselleştirilmiş öğe önerileri dön (feed/home/related).
Mülakat kapsamı
Sunum: Client → Gateway/LB → App → Cache (+ DB). Train/ingest: App → Message Queue → worker → DB/Object Storage. Client → Queue/DB yok.
Fonksiyonel gereksinimler
- Kullanıcı olaylarını (görüntüleme, tıklama, satın alma) async topla.
- Aday önerileri offline/nearline üret.
- Top-N öneriyi düşük gecikmeyle sun.
Kalite ve ölçek hedefleri
- Sunum yolu cache dostu ve hızlı olmalı.
- Ağır model/feature işi istek yolunun dışında (kuyruk/worker).
- Kullanıcı/öğe metadata’sı kalıcı depoda olmalı.
Kapasite varsayımı
Bu ölçeğe göre tasarla
Günde ~100M öneri isteği varsay (ortalama ~1.160 RPS) + büyük async olay akışı.
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 →