Katalog
concept#Architektur#Zuverlässigkeit#Plattform#Sicherheit

Rate Limiting

Mechanismus zur Begrenzung der Anfragerate an Dienste und APIs, um Stabilität, Fairness und Schutz vor Überlast sowie Missbrauch sicherzustellen.

Rate Limiting ist ein Architekturprinzip zur Begrenzung von Anfragen an Dienste oder APIs, um Überlast und Missbrauch zu verhindern.
Etabliert
Mittel

Klassifikation

  • Mittel
  • Technisch
  • Architektur
  • Fortgeschritten

Technischer Kontext

API-Gateways (z. B. Kong, Apigee)CDNs mit Edge-ThrottlingService-Mesh / Envoy Rate Limit Service

Prinzipien & Ziele

Schutz der Systemstabilität vor externen LastspitzenKlare Trennung von Quotas, Raten und Burst-VerhaltenSichtbarkeit und Metriken als Grundlage für Anpassung
Betrieb
Domäne, Team

Use Cases & Szenarien

Kompromisse

  • Fehlkonfiguration führt zu Kundenunzufriedenheit
  • Bypass-Methoden (z. B. IP-Rotation) reduzieren Effektivität
  • Übermäßige Drosselung kann Umsatz beeinträchtigen
  • Start mit konservativen Limits und iteratives Anpassen anhand von Metriken
  • Unterscheide zwischen globalen, kunden- und endpoint-spezifischen Limits
  • Biete transparente Fehler- und Retry-Signale (Retry-After Header)

I/O & Ressourcen

  • Identifikatoren (API-Key, IP, Benutzer-ID)
  • Last- und Nutzungsmuster
  • Service-Kapazitätsmodelle und SLAs
  • Throttle-Antworten (z. B. HTTP 429)
  • Metriken und Alerts
  • Adaptives Backoff-Verhalten

Beschreibung

Rate Limiting ist ein Architekturprinzip zur Begrenzung von Anfragen an Dienste oder APIs, um Überlast und Missbrauch zu verhindern. Es definiert Regeln für erlaubte Anfragefrequenzen, Backoff-Verhalten und Antwortcodes. Typische Anwendungen reichen von API-Gateways über CDN bis zu serviceinternen Controls für stabile Verfügbarkeit.

  • Verhindert Überlast und damit Ausfälle
  • Schützt vor Missbrauch und DoS-Versuchen
  • Ermöglicht faire Ressourcenteilung zwischen Kunden

  • Falsche Limits können legitime Nutzer blockieren
  • Zusätzliche Infrastruktur und Latenz durch zentrale Limit-Dienste
  • Komplexität bei verteilten Systemen mit vielen Identitäten

  • Anfragen pro Sekunde

    Messung der eingehenden Anfragenrate pro Endpoint oder Key.

  • Abgewiesene Anfragen (Throttle Hits)

    Anzahl der Anfragen, die aufgrund von Limits abgewiesen wurden.

  • Latenz während Drosselung

    Reaktionszeitstatistiken wenn Limiting aktiv ist.

API-Gateway mit Token-Bucket

Ein API-Gateway implementiert Token-Bucket-Algorithmen zur Begrenzung von Burst-Verkehr und stabilisiert Endpunkte.

CDN-basierte Drosselung

Ein CDN drosselt Anfragen an Ursprungsserver, um Lastspitzen zu glätten und Kosten zu reduzieren.

Service-internes Circuit-Breaker kombiniert mit Rate Limiting

Kombination aus Circuit-Breaker und per-Endpunkt Ratenbegrenzung verhindert cascading failures.

1

Analyse von Lastmustern und Definition von SLAs

2

Auswahl einer Limiting-Strategie (Token Bucket, Leaky Bucket, Fixed Window)

3

Integration in Gateway/Service, Monitoring und Alarmierung einrichten

⚠️ Technische Schulden & Engpässe

  • Monolithische Limit-Logik erschwert skalierbare Anpassung
  • Keine zentrale Metrik, schwerfälliges Troubleshooting
  • Veraltete Blacklist-Mechanismen statt adaptiver Regeln
Zentrale EntscheidungsstelleNetzwerk-Latenz bei verteilten ChecksSkalierungsgrenzen externer Rate-Limiter
  • Setzen eines zu niedrigen Default-Limits für alle Nutzer
  • Ignorieren von Burst-Verhalten in Spitzenzeiten
  • Verlass auf Client-seitige Ratenbegrenzung allein
  • Verwechslung von Quotas und Echtzeit-Ratenbegrenzung
  • Unzureichende Tests unter realistischen Lastbedingungen
  • Nichtbeachtung legaler Einschränkungen bei Nutzersegmentierung
Kenntnis von HTTP und API-DesignErfahrung mit Observability und MonitoringVerständnis verteilter Systeme und Konsistenz
Skalierbarkeit unter LastspitzenVerfügbarkeit und FehlertoleranzKostenkontrolle durch begrenzte Ressourcenutzung
  • Notwendigkeit genauer Identifikatoren (API-Key, IP, User)
  • Reaktionszeitbudget darf nicht überschritten werden
  • Rechtliche/Compliance-Vorgaben bei Nutzersegmentierung