System Design mülakat sorusuOrtaTemel Sistem Bileşeni

Bir Rate Limiter tasarla

API önünde rate limiter tasarla: her istemci zaman penceresinde en fazla N istek (ör. 100/dk); aşanlar 429 alır veya yavaşlatılır.

Mülakat kapsamı

Limit’in istek yolunda nerede çalıştığını, sayaçların nerede durduğunu ve istemcinin sayaç deposuna dokunmadığını göster.

Fonksiyonel gereksinimler

  • Çağıranı tanı (API key, user id veya IP).
  • Limit altındaysa izin ver; aşıyorsa reddet/yavaşlat (ör. HTTP 429).
  • Pencere tipi (fixed vs sliding) bu Easy’de yüksek seviyede kalabilir.

Kalite ve ölçek hedefleri

  • Her istekte hızlı allow/deny kararı (sıcak yol).
  • Limitler birçok app instance’da tutarlı olmalı (paylaşılan sayaç).
  • Sıcak yol her istekte yavaş DB’ye gitmemeli.

Kapasite varsayımı

Bu ölçeğe göre tasarla

Tepe ~20.000 RPS, ~10 app server. Örnek limit: API key başına 100 istek/dakika.

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