Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Ограничение скорости — это механизм управления, используемый облачными API для регулирования количества запросов, которые пользователь может выполнять в определенное время. Производители облачных API используют ограничение скорости, чтобы гарантировать, что поток запросов не перегружен службой. Лимитирование скорости устанавливает ограничения на частоту и объем вызовов API. Ограничения скорости обычно определяются с точки зрения запросов за период времени.
Почему облачные API используют ограничение скорости
- Предотвратить перегрузку. Ограничение скорости гарантирует, что сервер API остается стабильным и адаптивным, предотвращая переполнение сервера API одним пользователем или службой с слишком большим количеством запросов.
- Обеспечение справедливого использования. Ограничение скорости применяет политики справедливого использования, гарантируя, что ни один пользователь не монополизирует ресурсы API. Ограничение скорости обеспечивает справедливый доступ ко всем пользователям.
- Увеличьте безопасность. Ограничение скорости помогает смягчить атаки распределенного типа "Отказ в обслуживании" и другие оскорбительные действия, ограничив количество запросов от потенциально вредоносных источников.
- Управление себестоимостью. Для поставщиков облачных служб ограничение скорости помогает управлять операционными затратами, предотвращая непредсказуемое или чрезмерное использование ресурсов.
- Поддержание качества обслуживания. Ограничение скорости обеспечивает согласованное качество обслуживания для всех пользователей, предотвращая пики трафика.
Как вы испытываете ограничение скорости в приложениях
При создании приложений, которые интегрируют облачные API, проверьте их документацию, чтобы убедиться, что они поддерживают ограничение скорости. Если они это делают, вы получаете заголовки ответа RateLimit-... или X-RateLimit-... с информацией о лимитах скорости. Эти сведения можно использовать в приложении, чтобы убедиться, что вы не превышаете пределы скорости API. Например, заголовок RateLimit-Remaining указывает количество оставшихся в текущем окне запросов. Если вы получите ответ с заголовком, установленным в 0, вы знаете, что достигли предела скорости и должны дождаться открытия следующего окна перед отправкой другого запроса. Заголовок RateLimit-Reset указывает время сброса ограничения скорости. Некоторые API отправляют RateLimit-... заголовки только после достижения порогового значения. Например, когда у вас осталось 10% запросов.
При превышении ограничения скорости API регулирует запросы и возвращает код состояния HTTP 429 Too Many Requests . Некоторые API также могут отправлять заголовок Retry-After, чтобы указать, сколько времени следует ждать перед отправкой другого запроса.
Чтобы избежать регулирования и убедиться, что приложение остается адаптивным, реализуйте ограничение скорости в приложении. В зависимости от стека технологий различные библиотеки помогут вам справиться с ограничением скорости в приложении. После реализации ограничения скорости в приложении проверьте правильность обработки ограничения скорости.
Как ограничение скорости влияет на ваше приложение?
Большинство приложений не обрабатывают ограничение скорости правильно. Когда API начинает возвращать 429 ответы, обычное приложение либо завершает работу, отображает ошибку пользователю, либо автоматически теряет данные. Вы можете понять, как ведёт себя ваше приложение, локально моделируя лимиты запросов с помощью Dev Proxy, не дожидаясь, пока реальный API начнёт ограничивать ваши запросы.