Testen von Ratenbegrenzungen, 429-Fehlern und Backoff

Die Ratenbegrenzung wird kaum getestet, da eine gut funktionierende API die Zugriffsrate nicht auf Anfrage drosselt – und die Wiederholungsstrategie, die eine Verlangsamung in einen Ausfall verwandelt, daher ungetestet ausgeliefert wird. Die Coffee Shop API setzt ein echtes Kontingent innerhalb eines bestimmten Zeitraums durch, sodass Sie dieses absichtlich überschreiten und die Wiederherstellung der Verbindung beobachten können.

API-Ratenbegrenzung testen — request and response sequence Sequence diagram for Rate limit testing: GET /coffee/v1/rush-hour answers 429 Too Many Requests. GET /protocol/v1/maintenance answers 503 Service Unavailable. Your client Fun API Playground GET /coffee/v1/rush-hour 429 Too Many Requests Sonderangebot zur Stoßzeit – maximal 3 Anfragen pro 10 Sekunden GET /protocol/v1/maintenance 503 Service Unavailable Geplante Wartungsarbeiten — 503 + Wiederholungsversuch
Echte Endpunkte aus dem Katalog – jede der oben genannten Anfragen wird bedient, und jeder angezeigte Statuscode ist ein Statuscode, den dieser Endpunkt tatsächlich zurückgibt.

Wie man es übt

  1. Senden Sie Anfragen bis zur Antwort 429. Lesen Sie Retry-After und warten Sie vor dem nächsten Versuch entsprechend lange.
  2. Passen Sie die Anfragerate anhand von X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset in erfolgreichen Antworten an.
  3. Prüfen Sie, dass Wiederholungen mit Backoff und einer Obergrenze erfolgen. Eine sofortige Endlosschleife nach 429 erhöht nur die Last.
  4. Prüfen Sie, dass der Circuit Breaker eine Antwort 429 nicht wie einen dauerhaften Ausfall zählt.
  5. Kombinieren Sie mit der Fault-Injection-API Ratenbegrenzung und gelegentliche 503-Antworten und prüfen Sie die Erholung des Clients.

APIs, um es auszuprobieren

Betroffene Statuscodes

Andere Techniken

Einstiegsanleitung · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert