Как лучше всего ограничить запросы к API? По сути, мы хотим ограничить пользователей 360 запросами API в час (запрос каждые 10 секунд). На ум приходит отслеживание каждого запроса API и сохранение:
ip-address hourly-requests
1.2.3.4 77
2.3.4.5 34
3.4.5.6 124
Если запросы IP-адреса больше 360, просто верните заголовок с:
429 - Too Many Requests
Затем откатывать счетчик часовых запросов каждый час. Это кажется очень неэффективным методом, поскольку мы должны делать запрос MySQL при каждом запросе API, чтобы увеличить счетчик. Кроме того, нам понадобится задача cron для сброса всех счетчиков каждый час.
Есть ли более элегантное/эффективное решение?