System Design mülakat sorusuOrtaMesajlaşma & Async

Güvenilir bir webhook gönderim sistemi tasarla

Güvenilir webhook gönderimi tasarla: olay kabul et, müşteri endpoint’lerine HTTP callback’i retry ile teslim et.

Mülakat kapsamı

Client → Gateway/LB → App → Message Queue; worker teslim eder; durum için App → DB. Client → Queue yok.

Fonksiyonel gereksinimler

  • Bir olay için outbound webhook’u kuyruğa koy.
  • Worker’lar müşteri URL’lerine POST atar.
  • Başarısızlıktan retry et, teslim durumunu takip et.

Kalite ve ölçek hedefleri

  • Müşteri endpoint’leri yavaş/kararsız — async olmalı.
  • Olay spike’ları kalıcı kuyruk ister.
  • Durum depodan sorgulanabilmeli.

Kapasite varsayımı

Bu ölçeğe göre tasarla

Günde ~50M webhook teslimatı varsay (ortalama ~580 RPS); retry’lar ekstra worker yükü ekler.

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