Mert Özen Her Satırda Daha İleri
Anasayfa Videolar .NET Core Web API: Rate Limiting
.NET Core Web API

.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).