Skalierung der AngularJS- und NodeJS-App auf Linode

Skalierung der AngularJS- und NodeJS-App auf Linode

Ich habe eine Anwendung mit AngularJS + NodeJS (zusammen mit MariaDB, Redis und Socket.io für Echtzeitbenachrichtigungen) entwickelt und sie auf einem einzelnen Linode-Knoten bereitgestellt. Jetzt möchte ich die Architektur so organisieren, dass ich die Anwendung bei künftigem Datenverkehr problemlos skalieren kann.

Meine Idee ist also, alles wie folgt vorzubereiten:

  • 1 Linode LoadBalancer-Server, der als Hauptpunkt fungiert und die Anfragen der Benutzer umleitet
  • 1 Linode-Knotenserver, auf dem ich Nginx installieren werde, das als Reverse-Proxy fungiert und zum NodeJS-Server im selben Knoten weiterleitet
  • 1 Linode-Knotenserver für MariaDB- und Redis-Server

Wenn ich also skalieren muss, füge ich einen neuen Knoten mit Nginx + NodeJS hinzu. Für MariaDB + Redis würde ich das Clustering für beide einrichten (ich verwende Redis für die Sitzung und MariaDB für die Daten).

Nun sind meine Zweifel folgende:

  • Was wäre die richtige Architektur für die Anwendung?

  • Wo soll ich die AngularJS-App platzieren, auf dem LoadBalancer oder auf jedem Knoten?

  • brauche ich Nginx als Reverse-Proxy auf jedem Knoten?

Danke schön!

verwandte Informationen