System Design mülakat sorusuZorMesajlaşma & Realtime

WhatsApp benzeri bir sohbet / mesajlaşma sistemi tasarla

WhatsApp tarzı mesajlaşma tasarla: neredeyse gerçek zamanlı gönder/al; kullanıcı dönünce geçmiş de olsun.

Mülakat kapsamı

Client → Realtime Gateway (+ REST için Gateway/LB). App → DB + Cache + Message Queue (offline/push). Client → DB yok.

Fonksiyonel gereksinimler

  • Başka kullanıcıya veya gruba mesaj gönder.
  • Alıcı online’ysa hızlı ulaştır.
  • Sonra okumak için sohbet geçmişini sakla.

Kalite ve ölçek hedefleri

  • Online kullanıcı için düşük gecikme.
  • Offline yakalama için kalıcı geçmiş.
  • Fan-out / push tek HTTP isteğinde sonsuza bloklanmamalı.

Kapasite varsayımı

Bu ölçeğe göre tasarla

~50M DAU, günde ~40 mesaj → ~2B mesaj/gün (ortalama ~23b mesaj/sn).

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