Как регулировать количество запросов к API? - PullRequest
0 голосов
/ 28 января 2020

Существует система crm, которая предоставляет веб-крючкам уведомление о некоторых событиях, происходящих в ней (например, пользователь создает какую-то сущность или перемещает ее в следующий «статус»). В какой-то момент webhook запускает мой скрипт, который создает новую сущность в этой системе crm, используя ее API. Системный API имеет ограничение скорости - 7 запросов в секунду. При нарушении этого правила доступ к API может быть ограничен для учетной записи на некоторое время.

Проблема в том, что если пользователь изменяет «статус» из 1000 объектов, веб-крючок запускает мой сценарий 1000 раз, поэтому он вызывает API 1000 раз, и это может нарушать ограничение скорости. Есть ли способ временно «сохранить» все запросы, пришедшие с веб-крюка, а затем запустить скрипт не чаще, чем n раз в секунду?

Сценарий написан на php и находится на моем Apache сервер сейчас, но позже он может быть помещен на сервер клиента или где-то еще.

Я читал о Rabbit MQ и Kafka. Но это кажется излишним для этой задачи. Или может все в порядке? У меня просто недостаточно опыта работы с этими системами.

Буду признателен за любую помощь.

...