Статистика запросов API

В наше время все больше веб-сайтов используют открытые АРI, предоставляющие доступ к их сервису внешним разработчикам. Появление открытых API должно сопровождаться планированием мощностей для использования этого сервиса.

Возможно вы уже поняли, что я являюсь убежденным сторонником использования метрик прикладного уровня наряду с системными метриками. Использование API относится к тем областям, в которых метрики прикладного уровня играют особенно важную роль. Разрешая другим разработчикам работать с вашими данными через открытые API, вы фактически делаете возможным намного более целенаправленное и формализованное использование своего сайта.

Одно из преимуществ открытых API заключается в том, что они позволяют повысить эффективность вашего приложения. Если внешние разработчики захотят получить доступ к данным, а вы не предоставите методы API для этой цели, вероятно, им придется извлекать данные из страниц сайта, а это крайне неэффективно по многим причинам. Скажем, даже если их интересует только конкретное значение на странице, им все равно придется запрашивать всю страницу со всем содержимым: разметкой CSS, JavaScript и другими компонентами, которые необходимы для отображения страницы в клиентском браузере, но не представляют интереса для разработчика. Но, хотя API повышают эффективность приложения, при отсутствии должного контроля они также открывают ваш веб-сервис для потенциальных злоупотреблений, так как у других приложений появляется возможность запрашивать конкретные фрагменты данных. Наличие методов сбора и сохранения данных об использовании открытых API на уровне пользователей или запросов может считаться обязательным требованием к отслеживанию мощностей на таких сайтах. Задача обычно решается посредством использования уникальных ключей API или других уникальных удостоверений. При каждом обращении к API ключ идентифицирует приложение и разработчика, ответственного за его создание.

Поскольку выдать огромное количество вызовов через API намного проще, чем из обычного клиентского браузера, вы должны следить за тем, какие вызовы API генерируются тем или иным приложением, и с какой частотой.

В Flickr автоматически объявляются недействительными любые ключи, которые используются для злоупотреблений API в соответствии с положениями, описанными в условиях обслуживания. Для каждого ключа API накапливается почасовая статистика о количестве вызовов и подробностях каждого вызова. Рисунок дает общее представление о метриках вызовов API.

Располагая такой информацией, вы можете определить, какие ключи API ответственны за наибольший объем трафика. В случае необходимости по каждому ключу можно получить подробную информацию.

Регулярный сбор этой информации даст вам гораздо более четкое представление о том, как использование API влияет на ваши ресурсы. После этого вы сможете регулировать ограничения API по мере изменения ситуации с мощностями.