¿Cómo debo distribuir la carga de tráfico saliente desde un único servidor a varios servidores?

¿Cómo debo distribuir la carga de tráfico saliente desde un único servidor a varios servidores?

Tengo una aplicación ejecutándose en un VPS.

Mi servidor envía solicitudes HTTP a una API externa a un ritmo muy alto. Esto ha provocado que exceda el límite de tráfico saliente de mi proveedor.

Mi búsqueda en Internet me ha proporcionado mucha información sobre cómo equilibrar el tráfico entrante, pero mi problema es el tráfico saliente, sobre el cual encontré información mínima, ninguna de la cual pude correlacionar con mi situación.

Comprar un servidor dedicado para tener una mayor asignación de ancho de banda no es asequible para mí (al menos hasta que la aplicación sea lo suficientemente rentable, lo que requiere que se amplíe primero, de ahí mi problema).

¿El siguiente enfoque resolvería mi problema?

Mantengo mi servidor actual pero modifico el programa para que en lugar de realizar las solicitudes HTTP salientes, cree una cola que contiene los datos que uso para formar cada una. También tengo algunos VPS más pequeños, cuyo trabajo es verificar de forma independiente e intermitente si hay alguna solicitud pendiente en la cola de los servidores principales. Si hay una solicitud pendiente por realizar, utiliza los datos de la cola para formar y enviar la solicitud correspondiente y, finalmente, cuando se recibe una respuesta de la API externa, envía la respuesta HTTP al servidor principal.

Nota: Mis solicitudes HTTP pasan por un servicio de proxy externo, lo que agrega una sobrecarga a cada solicitud. También podrían resultar útiles consejos sobre cómo minimizar el tamaño de las solicitudes.

Es la primera vez que implemento una aplicación con mucho tráfico y mi conocimiento mínimo de redes no ayuda. Cualquier contribución será muy apreciada.

información relacionada