Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Rate Limiting implementace

25. 09. 2024 1 Min. Lesezeit intermediate

Rate Limiting schützt APIs vor Überlastung, Brute-Force-Angriffen und Missbrauch. Ohne Rate Limiting ist jeder Endpoint verwundbar.

Algorithmen

  • Fixed Window: Einfach, aber Burst an Fenstergrenzen
  • Sliding Window: Präziser, höherer Speicherbedarf
  • Token Bucket: Flexibel, erlaubt Bursts
  • Leaky Bucket: Konstante Rate

Redis Sliding Window

import redis, time r = redis.Redis() def rate_limit(key, limit=100, window=60): now = time.time() pipe = r.pipeline() pipe.zremrangebyscore(key, 0, now - window) pipe.zadd(key, {str(now): now}) pipe.zcard(key) pipe.expire(key, window) _, _, count, _ = pipe.execute() return count <= limit

Express.js

const rateLimit = require(‘express-rate-limit’); app.use(‘/api/’, rateLimit({ windowMs: 60 * 1000, max: 100, standardHeaders: true, }));

Wichtigste Erkenntnis

Rate Limiting für jede API. Redis für verteilte Umgebungen, Sliding Window für Präzision.

securityrate limitingapiredis
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.