Dynamic Media OpenAPI und Asset Gateway: API-Ratenbeschränkungen verstehen und auflösen
API-Aktivitäten mit hohem Volumen können HTTP 429-Fehler zurückgeben, wenn Anfragemuster dynamische Ratenbeschränkungen überschreiten. Das Problem wird häufig durch Burst-Traffic, wiederholtes Abrufen oder mehrstufige Workflows verursacht, bei denen jeder Aufruf separat gezählt wird, während die Zwischenspeicherung verzögert werden kann, wenn Aktualisierungen sichtbar werden. Die Auflösung konzentriert sich auf die Bestätigung von Einschränkungen in Protokollen, die Reduzierung unnötiger Anfragen, die Einhaltung des Cache-Verhaltens und die Anwendung von exponentiellem Backoff. Stabile Antworten werden nach der Anpassung von Anfragemustern und des Wiederholungsverhaltens zurückgegeben.
Beschreibung description
Umgebung:
- API-basierte Workflows zur Asset-Aufnahme
- Workflows zum Abrufen von Metadaten
- Integrationen zwischen Asset-Bereitstellung und Gateway
- Clients, die wiederholt API-Anfragen mit hohem Volumen stellen
Problem/Symptome
- API-Endpunkte geben zeitweise HTTP 429 Too Many Request-Antworten zurück, die in Anwendungsprotokollen oder Überwachungsdaten bestätigt und an die betroffenen Endpunkte zurückgebunden werden können.
- Das Problem tritt häufiger während des Burst-Traffics oder während anderer Anfragezeiträume mit hohem Volumen auf, was auf eine Drosselung bei höherer Anfragelast hinweist.
- Mehrstufige Workflows können unverhältnismäßig stark betroffen sein, da ein einzelner Vorgang mehrere gezählte API-Anfragen generieren kann, z. B. Suche, Metadatensuche, Upload-Initiierung und Upload-Übermittlung.
- Wiederholte Client-Aktivitäten, einschließlich Abrufen, Wiederholen oder fehlgeschlagener Wiederverwendung zwischengespeicherter Antworten, können das Anfragevolumen erhöhen und zur Drosselung beitragen.
- Asset- oder Inhaltsaktualisierungen können verzögert erscheinen, da zwischengespeicherte Antworten bis zu 10 Minuten lang bestehen bleiben können. Dieses Verhalten kann über Antwort-Header wie
Cache-Control: max-age=600validiert werden. - In diesen Fällen werden aktualisierte Inhalte möglicherweise erst nach 1 bis 10 Minuten sichtbar, was auf eine Cache-Ebenenverzögerung und nicht auf einen separaten API-Fehler verweist.
Grundursache:
Die API verwendet eine dynamische, lastbasierte Ratenbegrenzung anstelle eines festen Schwellenwerts für Anfragen pro Sekunde. Traffic-Spitzen, ein nicht optimierter Abruf und mehrstufige Upload- oder Abfrageflüsse können das Anfragevolumen über die zulässigen Grenzen und die Trigger-Drosselung hinaus steigern. Darüber hinaus können Antworten mit Cache-Control: max-age=600 zwischengespeichert werden, sodass nachgelagerte Caches ältere Daten weiterhin bereitstellen können, nachdem die Herkunft aktualisiert wurde.
Lösung resolution
Gehen Sie wie folgt vor, um Einschränkungen zu reduzieren und die Wiederherstellung zu bestätigen.
- Überprüfen Sie die Anwendungsprotokolle oder die API-Überwachung, um Antworten HTTP 429: Zu viele Anfragen zu identifizieren. Das erwartete Ergebnis ist ein klarer Beleg für eine Drosselung im Zusammenhang mit den betroffenen API-Endpunkten. Stellen Sie sicher, dass die Antworten im selben Workflow wiederholbar sind und nicht auf nicht miteinander verknüpfte Anfragen beschränkt sind.
- Untersuchen Sie Upload- oder Abfrage-Workflows auf mehrstufige Anfragemuster. Das erwartete Ergebnis ist die Identifizierung von Flüssen, bei denen jeder Aufruf separat zum gesamten Anfragevolumen beiträgt. Stellen Sie sicher, dass Anfragesequenzen wie Suche, Metadatensuche, Upload-Initiierung und Upload-Übermittlung gezählt werden.
- Überprüfen Sie das Verhalten bei Wiederholungsversuchen und das Zwischenspeichern von Antworten, einschließlich
Cache-Control: max-age=600. Das erwartete Ergebnis ist das Auffinden wiederholter Aufrufe, die entfernt, verzögert oder zwischengespeichert werden können. Vergewissern Sie sich, dass der Client die Aufbewahrungsfrist im Cache einhält und dieselben Daten nicht sofort erneut anfordert. - Reduzieren Sie das Anfragevolumen, indem Sie Antworten zwischenspeichern, sofern möglich, und vermeiden Sie wiederholte Metadatenabrufe oder doppelte Aufrufe. Das erwartete Ergebnis ist ein geringerer API-Durchsatz und weniger gedrosselte Anfragen. Überprüfen Sie die Änderung, indem Sie die Protokolle oder das Monitoring überprüfen, um sicherzustellen, dass das Anfragevolumen abnimmt und weniger häufig 429 Antworten eintreten.
- Überprüfen Sie das Cache-Verhalten bei der Suche nach Aktualisierungen. Das erwartete Ergebnis besteht darin, dass aktualisierte Inhalte nach der normalen Cache-Verbreitung und nicht sofort angezeigt werden. Überprüfen Sie dies, indem Sie den Browser-Cache löschen, die Anfrage erneut versuchen und bestätigen, dass aktualisierte Inhalte innerhalb des erwarteten 1- bis 10-minütigen Cache-Fensters angezeigt werden.
- Wenden Sie einen exponentiellen Backoff an, damit der Client nach einer 429-Antwort immer länger wartet, bevor er es erneut versucht. Das erwartete Ergebnis ist eine niedrigere Häufigkeit von Drosselungsereignissen. Überprüfen Sie die Verbesserung, indem Sie die Protokolle nach der Bereitstellung der Wiederholungsänderungen überwachen und bestätigen, dass die wiederholten 429-Antworten zurückgehen.
- Wenn der Traffic durchgängig die Service-Beschränkungen erreicht, überprüfen Sie, ob Änderungen an Anfrage-Batching oder Workflow-Design die Aufrufe pro Element reduzieren können. Als Ergebnis wird ein stabileres Reaktionsverhalten unter normalem Traffic erwartet. Stellen Sie sicher, dass die Anfragemuster während der typischen Verwendung stabil bleiben und keine wiederholten Trigger-Einschränkungen mehr aufweisen.
- Wenn die Drosselung nach der Anfrageoptimierung fortgesetzt wird, erfassen Sie Zeitstempel, betroffene Endpunkte, Anfrage- und Antwort-Header, geschätzte Anfragerate und Details zur Cache-Strategie, bevor Sie sich an den Support wenden. Das erwartete Ergebnis ist eine vollständige technische Aufzeichnung, die eine schnellere Untersuchung unterstützt. Überprüfen Sie, ob die erfassten Informationen die gedrosselten Anfragen und die Bedingungen, unter denen sie auftreten, widerspiegeln.
Wenn HTTP 429: Zu viele Anfragen Antworten nach Reduzierung des Anfragevolumens fortgesetzt werden, die Zwischenspeicherung erwartungsgemäß funktioniert, das Wiederholungsverhalten aktualisiert wurde und die Drosselung für dieselben API-Workflows immer noch wiederholbar ist, senden Sie ein Ticket an den Adobe-Support und geben Sie die Zeitstempel, die betroffenen Endpunkte, Anfrage- und Antwortkopfzeilen, die geschätzte Anfragerate und die Details der Cachestrategie an, die während der Fehlerbehebung erfasst wurden.