Welche Möglichkeiten zur Implementierung von Web-API-Anforderungsdrosselungen gibt es? Gibt es Bibliotheken für gängige Web-Frameworks (Rails, Django, Java usw.), die dies zusammen mit temporärem Bann geben?Welche Möglichkeiten gibt es, um Web-API-Request-Throttling/Rate-Limiting zu implementieren?
Eine verwandte Frage schlägt vor, dass die Ratenbegrenzung auf dem Webserver durch Begrenzen von Anfragen per IP erfolgt, aber das würde bedeuten, dass alle Anfragen gleich behandelt werden. Es scheint, wie Drosselung durch die Anwendung gehandhabt werden muss, weil:
- Einige API-Aufrufe unterschiedliche Frequenzgrenzen haben können (zB eine automatische Vervollständigung API eine höhere Grenze als andere Anrufe würden)
- Temporary durch API-Schlüssel verbieten können ‚t vom Webserver
- Anfragen von hinter einem Proxy gleich behandelt kommen behandelt werden
Fragen (?): here, here und here