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 →