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