Слишком много запросов на одном API - PullRequest
0 голосов
/ 27 августа 2018

У нас есть веб-сайт, и мы используем dingo api с laravel, но есть проблема, если запросов было слишком много на одном и том же посте API, который может быть выполнен сервером, каково решение для этого

1 Ответ

0 голосов
/ 27 августа 2018

Не только для API динго:

  1. Отклонить бессмысленный запрос. Добавить параметр подписи в запрос API на основе бизнес-параметров, URL-адреса и т. Д., Чтобы исключитьнедействительные запросы от роботов.Вы также можете добавить параметры отметки времени, чтобы предотвратить повторные атаки.Для вашего сервера, когда вы получаете запрос, в первую очередь следует проверить правильность подписи.Если это не правильно, вы можете отклонить его напрямую.

  2. Сделайте вашу службу масштабируемой. Если все запросы являются ожидаемыми законными запросами, попробуйте развернуть свои службы наЧем больше серверов, тем масштабируемость вашей службы горизонтально за счет балансировки нагрузки (см. ELB ).

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

...