Как лучше всего ограничить количество запросов для 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 для сброса всех счетчиков каждый час.
Есть ли более элегантное и эффективное решение?