Политики Quota и SpikeArrest — задаетесь вопросом, какую из них использовать, чтобы лучше всего удовлетворить ваши потребности в ограничении скорости? См. сравнительную таблицу ниже.
Квота
СпайкАрест
Используйте его, чтобы:
Ограничьте количество подключений приложений к целевому серверу вашего прокси-сервера API в течение определенного периода времени.
Защитите целевой сервер вашего прокси-сервера API от серьезных скачков трафика и атак типа «отказ в обслуживании».
Не используйте его для:
Не используйте его для защиты целевого сервера API-прокси от скачков трафика.
Для этого используйте политику SpikeArrest.
Не используйте его для подсчета и ограничения количества подключений, которые приложения могут выполнить к целевому серверу вашего прокси-сервера API за определенный период времени.
Для этого используйте политику квот.
Хранит счетчик?
Да
Нет
Рекомендации по прикреплению политики:
Прикрепите его к PreFlow запроса ProxyEndpoint , как правило, после аутентификации пользователя.
Это позволяет политике проверять счетчик квот в точке входа вашего прокси-сервера API.
Прикрепите его к PreFlow запроса ProxyEndpoint , обычно в самом начале потока.
Это обеспечивает защиту от всплесков в точке входа вашего прокси-сервера API.
Код состояния HTTP при достижении лимита:
500 (внутренняя ошибка сервера) *
500 (внутренняя ошибка сервера) *
Полезно знать:
Счетчик квот хранится в Cassandra.
Настройте политику для асинхронной синхронизации счетчика для экономии ресурсов.
Асинхронная синхронизация счетчиков может вызвать задержку ответа на ограничение скорости, что может привести к тому, что вызовы немного превысят установленный вами предел.
Выполняет регулирование на основе времени получения последнего трафика. Это время сохраняется для каждого процессора сообщений.
Если вы укажете ограничение скорости в 100 вызовов в секунду, в процессоре сообщений будет разрешен только 1 вызов каждые 1/100 секунды (10 мс). Второй вызов в течение 10 мс будет отклонен.
Даже при высоком лимите скорости в секунду почти одновременные запросы могут привести к отклонению.
* Для политики квот и политики SpikeArrest код состояния HTTP по умолчанию для превышения ограничения скорости — это общая 500 Internal Server Error . Вы можете изменить код состояния для этих политик на 429 Service Unavailable добавив свойство уровня организации ( features.isHTTPStatusTooManyRequestEnabled ). Если вы являетесь клиентом Cloud, обратитесь в службу поддержки Apigee Edge , чтобы включить это свойство.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-01-04 UTC."],[],[]]