Что такое распространенные способы реализовать веб-запрос API throttling/rate-limiting?

Что такое распространенные способы реализовать веб-регулировку запроса API? Есть ли какие-либо библиотеки для общих веб-платформ (Направляющие, Django, Java, и т.д.), которые дают Вам это наряду с временным запретом?

Связанный вопрос предполагает, что ограничение уровня сделано в веб-сервере путем ограничения запросов IP, но это означало бы, что все запросы рассматривают одинаково. На регулировку потребностей походит быть обработанной приложением потому что:

  1. Некоторые вызовы API могут иметь различные ограничения скорости (например, автозавершение, API имел бы более высокий предел, чем другие вызовы),
  2. Временный запрет ключом API не может быть обработан веб-сервером
  3. Запросы, прибывающие из-за прокси, рассматривают то же (?)

связанные вопросы: здесь, здесь, и здесь

7
задан Community 23 May 2017 в 12:03
поделиться

2 ответа

У Django-Piston есть аккуратный дроссель. Ознакомьтесь с исходным кодом http://bitbucket.org/jespern/django-piston/wiki/Home

3
ответ дан 7 December 2019 в 14:31
поделиться

Вы также можете использовать такие инструменты, как IPtables (linux), чтобы жестко ограничить часть входящего трафика. Существуют также сторонние сервисы, такие как 3scale ( http://www.3scale.net - отказ от ответственности - я работаю на них :-)), которые позволяют отслеживать и управлять всеми лимитами использования, которые вы хотите применяются к трафику для каждого пользователя.

1
ответ дан 7 December 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: