System Design mülakat sorusuZorTemel Sistem Bileşeni

Dağıtık bir kilit (lock) servisi tasarla

Dağıtık kilit tasarla: birçok app server koordine olsun; kritik bölümü aynı anda sadece bir holder çalıştırsın.

Mülakat kapsamı

Client → LB/Gateway → App → Cache (ve/veya DB) kilit durumu için. Client → Cache/DB yok.

Fonksiyonel gereksinimler

  • İsim/key ile kilit al.
  • Bitince kilidi bırak.
  • Holder ölürse kilidi expire et (yüksek seviye).

Kalite ve ölçek hedefleri

  • Al/bırak hızlı olmalı.
  • Kilit durumu app instance’lar arasında paylaşılmalı — sadece lokal bellek değil.
  • İstemcinin kilit deposuna doğrudan konuşmasından kaçın.

Kapasite varsayımı

Bu ölçeğe göre tasarla

Birçok app server üzerinde günde ~20M kilit işlemi varsay (ortalama ~230 RPS).

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