У меня есть приложение, работающее на VPS.
Мой сервер отправляет HTTP-запросы внешнему API с очень высокой скоростью. Это привело к тому, что я превысил лимит исходящего трафика моего провайдера.
Поиск в интернете предоставил мне массу информации о том, как сбалансировать входящий трафик, но моя проблема заключается в исходящем трафике, о котором я нашел минимум информации, ни одну из которой я не смог соотнести с моей ситуацией.
Покупка выделенного сервера для увеличения пропускной способности мне не по карману (по крайней мере, пока приложение не станет достаточно прибыльным, а для этого его сначала нужно масштабировать, отсюда и моя проблема).
Решит ли следующий подход мою проблему?
Я сохраняю свой текущий сервер, но модифицирую программу так, чтобы вместо выполнения исходящих HTTP-запросов она создавала очередь, содержащую данные, которые я использую для формирования каждого из них. Я также получаю несколько меньших VPS, чья работа заключается в том, чтобы независимо и периодически проверять, есть ли какие-либо запросы, ожидающие выполнения в очереди основных серверов. Если есть ожидающий выполнения запрос, он использует данные в очереди для формирования и отправки соответствующего запроса и, наконец, когда получен ответ от внешнего API, отправляет HTTP-ответ на основной сервер.
Примечание: Мои HTTP-запросы проходят через внешнюю прокси-службу, что добавляет накладные расходы к каждому запросу. Советы по минимизации размера запросов также могут быть полезны.
Это мой первый опыт развертывания приложения с большим трафиком, и мои минимальные знания сетей не помогают. Любой вклад будет высоко оценен.