Wie verteile ich die ausgehende Datenverkehrslast von einem einzelnen Server auf mehrere Server?

Wie verteile ich die ausgehende Datenverkehrslast von einem einzelnen Server auf mehrere Server?

Ich habe eine App, die auf einem VPS läuft.

Mein Server sendet mit sehr hoher Geschwindigkeit HTTP-Anfragen an eine externe API. Dies hat dazu geführt, dass ich das Limit für ausgehenden Datenverkehr meines Anbieters überschritten habe.

Bei meiner Suche im Internet habe ich jede Menge Informationen zum Ausgleichen des eingehenden Datenverkehrs gefunden. Mein Problem ist jedoch der ausgehende Datenverkehr. Hierzu habe ich nur wenige Informationen gefunden, von denen ich keine auf meine Situation beziehen konnte.

Der Kauf eines dedizierten Servers, um über eine höhere Bandbreite zu verfügen, ist für mich nicht erschwinglich (zumindest bis die App profitabel genug wird, wofür sie zunächst skaliert werden muss, daher mein Problem).

Würde der folgende Ansatz mein Problem lösen?

Ich behalte meinen aktuellen Server, ändere das Programm jedoch so, dass es, anstatt die ausgehenden HTTP-Anfragen auszuführen, eine Warteschlange erstellt, die die Daten enthält, die ich zum Erstellen jeder einzelnen Anfrage verwende. Ich bekomme auch ein paar kleinere VPSs, deren Aufgabe es ist, unabhängig und in regelmäßigen Abständen zu prüfen, ob in der Warteschlange des Hauptservers Anfragen ausstehen. Wenn eine ausstehende Anfrage ausgeführt werden muss, verwendet es die Daten in der Warteschlange, um die entsprechende Anfrage zu erstellen und zu senden, und sendet schließlich, wenn eine Antwort von der externen API empfangen wird, die HTTP-Antwort an den Hauptserver.

Hinweis: Meine HTTP-Anfragen werden über einen externen Proxy-Dienst geleitet, was zu jeder Anfrage zusätzlichen Aufwand führt. Ratschläge zur Minimierung der Anfragegröße könnten ebenfalls hilfreich sein.

Ich stelle zum ersten Mal eine App mit hohem Datenverkehr bereit und meine minimalen Netzwerkkenntnisse helfen mir dabei nicht weiter. Für jeden Input wäre ich sehr dankbar.

verwandte Informationen