Как распределить исходящий трафик с одного сервера на несколько серверов?

Как распределить исходящий трафик с одного сервера на несколько серверов?

У меня есть приложение, работающее на VPS.

Мой сервер отправляет HTTP-запросы внешнему API с очень высокой скоростью. Это привело к тому, что я превысил лимит исходящего трафика моего провайдера.

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

Покупка выделенного сервера для увеличения пропускной способности мне не по карману (по крайней мере, пока приложение не станет достаточно прибыльным, а для этого его сначала нужно масштабировать, отсюда и моя проблема).

Решит ли следующий подход мою проблему?

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

Примечание: Мои HTTP-запросы проходят через внешнюю прокси-службу, что добавляет накладные расходы к каждому запросу. Советы по минимизации размера запросов также могут быть полезны.

Это мой первый опыт развертывания приложения с большим трафиком, и мои минимальные знания сетей не помогают. Любой вклад будет высоко оценен.

Связанный контент