Как обрабатывать ограничение скорости с сторонним API и несколькими узлами процесса - PullRequest
0 голосов
/ 21 октября 2018

Я создаю приложение nodejs, которое объединяет несколько сторонних API, каждое из которых имеет ограничение скорости, в среднем 1200 req / min, каждый запрос подписывается для пользователя, ограничение устанавливается только по IP, а не по пользователю,так получит бан через несколько минут при запуске приложения.Я пока не нашел экономичного решения этой проблемы (запрет на использование коммерческих прокси-решений).

Среда: GCP, docker, kubernetes, nodejs 8

Нужно ли мне создавать свой собственный проксисервер, скажем, мы пересылаем запросы http (s) через этот прокси-сервер, прокси-сервер связывается с прокси-узлом, каждый прокси-узел имеет собственный интерфейс с уникальным внешним IP-адресом?

Есть ликратчайший путь решения этой проблемы?

Мне нужно обработать около 150000 запросов / мин, каждый узел будет иметь ограничение в 1200 рэк / мин.

Ответы [ 3 ]

0 голосов
/ 22 октября 2018

Не могли бы вы установить большее количество адресов шлюза NAT, чтобы ваш трафик поступал с более распределенного набора IP-адресов?Вам придется управлять распределением, поэтому отключите липкость.

0 голосов
/ 22 октября 2018

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

0 голосов
/ 22 октября 2018

Существует как минимум два бесплатных решения с открытым исходным кодом для ограничения скорости:

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

Кроме того, многие веб-серверы имеют функции ограничения скорости.через короткие промежутки времени. Посмотрите на модуль Nginx ngx_http_limit_req_module и это вступительное сообщение в блоге.

Поскольку вы находитесь в GCP, вы можете хотя бы рассмотреть Apigee со встроенным ограничением скорости . Вероятно, это самый простой и быстрый способ начать работу. Однако это выглядит довольно дорого.

...