2016-05-17 15 views
0

Wir betreiben eine Website, die stark auf der Amazon Product Advertising API (APAA) beruht. Was passiert, ist, dass wenn wir einen plötzlichen Anstieg der Benutzer erleben, es passiert, dass wir das Ratenlimit erreichen und alle Funktionen, die auf der APAA beruhen, für eine Weile heruntergefahren sind. Was können wir tun, damit das nicht passiert?Wie man eine Rate-limited API entlastet?

Also haben wir natürlich einige grundlegende Caching, aber die APAA erlaubt uns nicht, Daten für eine sehr lange Zeit zwischenzuspeichern, und APAA-Abfragen können sehr unterschiedlich sein, so dass möglicherweise überhaupt keine zwischengespeicherten Daten vorhanden sind Abfrage.

Antwort

1

Ich denke, dass Ihre einzige Option ist, die API-Aufrufe erneut zu versuchen, bis sie funktionieren - aber auf intelligente Weise tun. Leider wird das, was gedrosselt wird, von AWS erwartet, und AWS erwartet, dass die Leute selbst damit umgehen.

Sie können einen exponentiellen Backoff implementieren und Jitter hinzufügen, um Clusteraufrufe zu verhindern. AWS hat einen tollen Blogbeitrag über Lösungen für diese Art von Problem: https://www.awsarchitectureblog.com/2015/03/backoff.html