Der Datenverkehr Ihrer öffentlichen API explodiert nach einer viralen Integration. Die ersten Anrufe kommen von einem Partneraggregator – 200 legitime Anforderungen/s. Ihr Gesamtlimit von 100 Anforderungen/s pro IP blockiert dies. In der Zwischenzeit knabbert ein Bot, der über 500 Free-Tier-IPs verteilt ist, unbesorgt am „/search“-Endpunkt.
Eine schlecht konzipierte Ratenbegrenzung schützt den Server gleichzeitig vor schlechten und guten Clients.
Klare Ziele
Schützen Sie CPU/DB, garantieren Sie Fairness zwischen Mietern, monetarisieren Sie Premium-Drittanbieter und absorbieren Sie kurze Ausbrüche. Es geht nicht nur um die Sicherheit – ein entschlossener Angreifer umgeht grundlegende Grenzen.
Algorithmen
| Algo | Verhalten | Anwendungsfälle |
|---|---|---|
| Festes Fenster | Einfache, kantige Picks | Geringes internes Volumen |
| Schiebefenster | Gerechter | Öffentliche API |
| Token-Eimer | Kontrollierten Burst zulassen | B2B-Partner |
| Undichte Eimer | Regelmäßige Veröffentlichung | Warteschlangen |
Redis + Lua oder verwaltete Gateway-Dienste (Cloudflare, Kong, AWS API GW).
Kontingentschlüssel
Hierarchie: API-Schlüssel → Plan → sensibler Endpunkt. IP als letztes Mittel. Authentifiziert vs. anonym: separate Pools.
Temporäre Whitelist für den Partnerstart mit vertraglich unterzeichneter Obergrenze.
Clientseitige UX
Dokumentbeschränkungen in OpenAPI. Beispiele für exponentiellen Backoff + Jitter. Ein expliziter 429 ist besser als ein stilles Timeout.
Überverbrauch: 402/403 geschäftlich vs. 429 technisch – unterscheiden Sie zwischen Quotenabrechnung und Überlastung.
Belastungstest
Burst-3x-Grenze simulieren, Wiederherstellung < 1 Minute prüfen. Messen Sie Fehlalarme bei Unternehmens-IP. Passen Sie nach tatsächlicher Beobachtbarkeit an, nicht nur nach Tabellenkalkulation.
Kalibrieren ohne zu bestrafen
Beginnen Sie mit der Messung des 14-tägigen Basisdatenverkehrs: p50/p95/p99 nach Endpunkt und nach API-Schlüssel. Legen Sie das Limit auf 2× p99 des größten legitimen Clients auf einem teuren Endpunkt fest.
Implementieren Sie einen Token-Bucket mit 2× anhaltendem Burst. Kündigen Sie Header an, bevor Sie die Durchsetzung aktivieren.
Erstellen Sie eine niedrige „Sandbox“-Stufe für Entwicklungsschlüssel und eine vertragliche „Produktions“-Stufe. Überverkauf ohne dokumentierte Quote = Support-Tickets.
Beobachten Sie die 429-Rate: Wenn mehr als 1 % legitime Anfragen vorliegen, ist der Grenzwert zu niedrig. Wenn der Scraper unverändert bleibt, schlecht angestrebtes Limit (IP vs. Schlüssel).
Überprüfen Sie nach dem Onboarding jedes großen Kunden – sein Verkehrsprofil ändert den Median für alle, wenn es schlecht isoliert ist.
Dimensionierung mit reellen Zahlen
Exportieren Sie sieben Tage lang Zugriffsprotokolle: Zählen Sie Anfragen pro Minute, pro API-Schlüssel und pro Route. Das globale Limit „1000 req/min“ verbirgt einen „/export“-Endpunkt, der allein 800 generiert. Beschränkung nach sensibler Route: Authentifizierung, Suche, Export, eingehender Webhook.
Respektvolle Crawler (Googlebot) im Vergleich zu aggressiven Scrapern: Allein die IP-Ratenbegrenzung bestraft die ersten, die hinter Unternehmens-NAT stehen. Kombinieren Sie Verhalten (kein User-Agent, verdächtige Endpunktsequenz) mit Schlüsselkontingent.
Kommunizieren Sie einen Migrationsplan: „Limit ab 1. Oktober erzwingen“ mit Header-Vorschaumodus vor dem harten Blockieren. Partner-SDKs integrieren Retry-After; Home-Skripte nein – Warnung.
Auf einem Low-Budget-VPS reicht lokales Redis für Zähler bis zu einigen tausend Anforderungen/s aus. Darüber hinaus verhindert das Edge-CDN-Ratenlimit, dass der Zähler zu Ihrem eigenen DDoS auf Redis wird.
B2B-Partner fragen oft nach „kein Limit“ – antworten mit verschlüsseltem Vertragskontingent + Burst + Preisüberschreitung, nicht mit dem Fehlen eines Limits.
Unterscheidung zwischen 429-Technik und 402-Abrechnung: Durch die Kombination der beiden im selben API-Dokument entstehen endlose Support-Tickets.
Diagramm-Dashboard: Top-Konsumenten nach Schlüssel – identifiziert authentifizierte Scraper, bevor sie zu einem Sicherheitsvorfall werden.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Randgeschwindigkeitsbegrenzung
Redis lokales VPS und dann CDN-Edge mit mehr als tausend Anforderungen/s.
Entscheide dich und gehe ohne blinden Fleck voran
- Messung der Baseline von vierzehn Tagen – p50/p95/p99 pro Endpunkt und pro API-Schlüssel.
- Legen Sie den Grenzwert auf das Doppelte des p99 des größten legitimen Clients am teuersten Endpunkt fest.
- Token-Bucket mit Burst – kündigen Sie RateLimit-Header an, bevor Sie die Durchsetzung aktivieren.
- Sandbox und Produktion von Drittanbietern – dokumentierte vertragliche Quoten zur Vermeidung von Support-Tickets.
- Überprüfung nach jedem Großkunden – das Verkehrsprofil ändert den Median für alle, wenn es schlecht isoliert ist.
Bestimmen Sie die CPU- und Netzwerkgröße über die API Verzeichnis, Vergleicher und Blog.
Häufig gestellte Fragen
Reicht die Einschränkung durch IP aus?
Nein für Clients hinter NAT oder CDN. Bevorzugen Sie API-Schlüssel + IP im Fallback mit Kontingenten pro Mandant.
Token-Bucket oder festes Fenster?
Der Token-Bucket glättet Bursts. Festes Fenster erzeugt Klippeneffekte am Ende des Fensters; Schiebefenster kosten mehr, sind aber fairer.
Welcher Header soll zurückgegeben werden?
429 + Retry-After + X-RateLimit-Remaining/Limit/Reset hilft Client-SDKs, sauber zurückzusetzen.
Ratenbegrenzung bei Edge oder App?
Edge (CDN, API-Gateway) stoppt die Flut frühzeitig. Die App hält feine Geschäftsgrenzen ein (Kosten pro Endpunkt).
Veröffentlichen Sie Ihre Limits vor dem nächsten Start im Dokument – gute Kunden planen, Bots nicht.
