.NET Core Web API: Rate Limiting
27 Ara 2025
15:20
YouTube'da izle
Açıklama
Bu video, ASP.NET Core üzerinde Rate Limiting (istek sınırlama) mekanizmasının nasıl uygulanacağını kapsamlı bir şekilde ele almaktadır. İşte videodan öne çıkan başlıklar:
- Rate Limiting Nedir?: Bir client'ın veya IP adresinin belirli bir zaman diliminde yapabileceği istek sayısını sınırlayan bir güvenlik ve performans mekanizmasıdır (0:17).
- Temel Algoritmalar:
- Fixed Window: Zamanı sabit bloklara böler (örneğin 10 saniyede 5 istek). Uygulaması kolaydır ancak sınırların birleştiği noktalarda ani yük artışlarına (spike) karşı savunmasız kalabilir (0:58).
- Sliding Window: Daha hassas bir denetim sağlar; sayaç belirli aralıklarla güncellenerek "son X saniye" içerisindeki istekleri takip eder (2:44).
- ASP.NET Core Uygulamaları:
- Built-in Rate Limiter: AddRateLimiter servisleri kullanılarak policy tanımları yapılabilir (6:22).
- Partitioned Rate Limiting: Özellikle JWT içerisindeki UserId gibi değerler kullanılarak her kullanıcı için ayrı bir limit belirlenebilir (6:39).
- Global ve Attribute Bazlı Kısıtlama: Tüm uygulamaya genel bir limit konulabileceği gibi, sadece belirli controller veya endpoint'ler için EnableRateLimiting attribute'u ile özelleştirmeler yapılabilir (7:31).
- Örnek Senaryolar: Videoda Fixed Window ve Sliding Window örnekleri, HTTP 429 (Too Many Requests) hata kodu dönüşü ve kullanıcı bazlı kısıtlama senaryoları uygulamalı olarak gösterilmiştir (8:47).
Etiketler