Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: API Taşmalarını Durdur: Redis Kayar Pencere Hız Sınırları ⚡
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » API Taşmalarını Durdur: Redis Kayar Pencere Hız Sınırları ⚡

Yazılım

API Taşmalarını Durdur: Redis Kayar Pencere Hız Sınırları ⚡

teknomers
Son güncelleme: 8 Temmuz 2026 08:40
teknomers
Paylaş
Paylaş

Fixed Window Açığı

Bir SaaS API’sini korurken, rate limiting DDoS saldırıları ve brute-force scraping’e karşı ilk savunma hattınızdır. Çoğu framework’teki varsayılan yaklaşım Fixed Window algoritmasıdır (örneğin, dakikada 60 istek izni verilmesi).

Burada gizli bir mimari açığın bulunduğu nokta şudur: Kötü niyetli bir script, 11:59:59 AM’de 60 isteği gönderebilir ve 12:00:01 PM’de bir 60 istek daha gönderebilir. Çünkü “dakika penceresi” tam olarak 12:00:00’da sıfırlanır, sunucu 2 saniyede 120 isteği almış olur. Bu ani trafik, niyetlenen sınırları aşarak veritabanı bağlantı havuzunuzu aşırı yükleyip API’nizin çökmesine neden olur. Matematiksel olarak düzgün bir trafik akışını garanti altına almak için, Sliding Window algoritmasını uygulamanız gerekir.

Çözüm: Redis Sorted Sets (ZSET)

Sliding Window algoritması çok miktarda isteği sıfırlamaz. Bunun yerine, mevcut mikro saniyeden tam olarak 60 saniye öncesine bakar. Eğer dinamik, sürekli zaman diliminde 60’tan fazla istek varsa, isteği engeller.

Bunu, Redis Sorted Set (ZSET) kullanarak son derece performanslı bir şekilde inşa edebiliriz. Mevcut Unix zaman damgasını “skor” olarak kullanırız, bu sayede eski istekleri anında düşürür ve son istekleri atomik olarak sayarız.

Sliding Window Middleware’ini Tasarlamak

Bu sliding window kontrolünü doğrudan Redis C seviyesinde gerçekleştiren özel bir Laravel middleware yazalım; böylece istek veritabanımıza ulaşmadan önce kontrol edilmiş olur.


namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis;
use Symfony\Component\HttpFoundation\Response;

class SlidingWindowRateLimiter
{
    public function handle(Request $request, Closure $next, int $limit = 60, int $windowSeconds = 60)
    {
        $ip = $request->ip();
        $redisKey = "rate_limit:sliding:{$ip}";
        
        $now = microtime(true);
        $windowStart = $now - $windowSeconds;

        // 1. 60 saniyelik pencere dışındaki tüm istek zaman damgalarını kaldır
        Redis::zremrangebyscore($redisKey, '-inf', $windowStart);

        // 2. Mevcut döngüsel penceredeki istek sayısını hesapla
        $currentRequests = Redis::zcard($redisKey);

        if ($currentRequests >= $limit) {
            return response()->json([
                'error' => 'Too Many Requests.',
                'retry_after' => $windowSeconds
            ], Response::HTTP_TOO_MANY_REQUESTS);
        }

        // 3. Mevcut isteğin zaman damgasını Sorted Set'e ekle
        // Hem skor (sıralama için) hem de üye değeri olarak $now kullanıyoruz
        Redis::zadd($redisKey, $now, $now);

        // 4. Kullanıcı çıktığında bellek sızıntısını önlemek için anahtara bir son tarih ayarla
        Redis::expire($redisKey, $windowSeconds);

        return $next($request);
    }
}

Mühendislik ROI’si

Fixed Window’dan bir Redis Sliding Window’a geçerek, “sınır patlaması” açığını tamamen ortadan kaldırıyorsunuz. API trafiğiniz, mikro saniyelik DDoS zirvelerine karşı arka uç altyapınızı koruyarak, düzgün ve sürekli bir akışa zorlanmaktadır ve gecikmenizi son derece düşük tutmaktadır (Redis’te milisaniye altı çalışma süreleri).

Kaynak: Orijinal Makale

Contents
  • Fixed Window Açığı
  • Çözüm: Redis Sorted Sets (ZSET)
    • Sliding Window Middleware’ini Tasarlamak
  • Mühendislik ROI’si
Laravel, Twilio ve OpenAI Kullanarak WhatsApp AI Asistanı Geliştirin
Bagisto ile Çoklu Satıcı Pazar Yeri Oluşturma: Bölüm 4 – Siparişler, Komisyonlar ve Satıcı Ödemeleri
Devraldığınız Bir Laravel Kod Tabanını Nasıl Denetlersiniz
Laravel ile AI Kod İnceleme Botu Oluşturma — Gerçek Dünya Kullanım Durumu
macOS’ta Docker Kullanmadan Tam Bir Yerel PHP Geliştirme Ortamı Nasıl Kurulur
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Korku Oyunları Dünyasında Resident Evil ve FNAF Buluşması

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Korku Oyunları Dünyasında Resident Evil ve FNAF Buluşması
Oyun
State of Decay 3’e Dair Son Gelişmeler Heyecanlandırıyor
Oyun
Intel’in yeni XBM bellek mimarisi, AI’nin bellek darboğazını çözüyor
Donanım
Özelleştirilmiş Özellik Kapama: Özellik Engelleme Modelinin Plan Temelli Sisteme Geçirilmesi
Yazılım
IBM’e Xinuos’tan 2003’ten bu yana devam eden telif davası
Donanım
Sony, Oyun Disc’lerini Sonlandırmasının Ardından Yeni Yönelimler Peşinde
Oyun
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?