Rate Limiting Nedir?
İngilizce: Rate Limiting
Rate limiting, kullanıcı, IP veya token başına belirli sürede izin verilen istek sayısını sınırlayarak API'leri kötüye kullanım ve yük artışından korur.
Rate Limiting Nedir?
Rate limiting, bir kullanıcı, IP adresi, API anahtarı veya token için belirli zaman aralığında kabul edilecek istek sayısını sınırlar. Amaç hem sistem kaynaklarını korumak hem de brute force, scraping, spam ve hatalı entegrasyon gibi davranışların etkisini azaltmaktır.
Bir API dakikada 100 istek sınırı koyduğunda 101. istek genellikle 429 Too Many Requests yanıtı alır. İyi tasarlanmış yanıtlar Retry-After gibi başlıklarla istemcinin ne zaman tekrar deneyeceğini de bildirir.
Yaygın Algoritmalar
- Fixed window: Belirli pencere içinde sayar; basittir ama pencere sınırında patlama yaratabilir.
- Sliding window: Zaman aralığını daha yumuşak hesaplar.
- Token bucket: Belirli hızda token üretir; kısa patlamalara kontrollü izin verir.
- Leaky bucket: İstekleri sabit hızda işler; ani yükleri düzleştirir.
İş Dünyasında Kullanımı
Rate limiting ödeme API’leri, giriş formları, arama endpoint’leri, dosya yükleme ve herkese açık entegrasyonlarda önemlidir. Sınır çok düşükse meşru müşteriler engellenir; çok yüksekse altyapı maliyeti ve kötüye kullanım riski artar. Bu yüzden limitler kullanıcı tipi, plan, endpoint maliyeti ve güvenlik riskiyle birlikte ayarlanmalıdır.
API Gateway çoğu zaman rate limiting’i merkezi uygular; API tasarımında kota, hata mesajı ve istemci retry davranışı birlikte düşünülmelidir.
İlgili Terimler
API Gateway, istemciler ile servisler arasına girerek yönlendirme, kimlik doğrulama, kota, gözlemleme ve sürümleme görevlerini toplar.
API Gateway GüvenliğiAPI Gateway güvenliği, kimlik doğrulama, kota, WAF kuralları ve trafik gözlemini API giriş noktasında merkezi olarak uygular.
APIAPI, farklı yazılımların izin verilen veri ve işlemlere standart istekler üzerinden erişmesini sağlayan sözleşmeli arayüzdür.
API KotasıAPI kotası, bir müşteri, uygulama veya anahtarın belirli dönemde kullanabileceği toplam çağrı, veri ya da işlem hakkını sınırlar.
Rate Limit StratejileriRate limit stratejileri, API çağrı hızını fixed window, sliding window, leaky bucket veya token bucket algoritmalarıyla dengeler.
API GüvenliğiAPI güvenliği, endpoint'leri kimlik doğrulama, yetkilendirme, şifreleme ve hız sınırlarıyla kötüye kullanıma karşı korur.
Brute Force SaldırısıBrute force saldırısı, hesap parolası veya gizli anahtarı çok sayıda kombinasyonu otomatik deneyerek ele geçirmeye çalışır.
Kimlik Bilgisi Doldurma (Credential Stuffing)Credential stuffing, sızmış kullanıcı adı ve parolaların otomatik olarak farklı sitelerde denenmesiyle yapılan hesap ele geçirme saldırısıdır.