9 Stimmen

Sollte ich Website und REST API auf demselben Server hosten oder aufteilen?

Ich habe eine Webanwendung, die aus einer Website und einer REST-API besteht. Sollte ich sie auf demselben Server hosten oder sollte ich sie auf verschiedenen Servern hosten? Mit "Server" meine ich einen Server-Cluster - mehrere Server hinter einem Load Balancer.

Bei der API handelt es sich hauptsächlich um eingehenden Verkehr, bei der Website hauptsächlich um ausgehenden.

Wenn es darauf ankommt - gehostet bei Rackspace und/oder AWS.

Hier ist, was ich bis jetzt sehe:

Vorteile von Website und REST-API auf demselben Server

  • Einfacher Einsatz
  • Einfache Skalierung - etwas ist langsam - einfach eine weitere Instanz starten
  • Einzelne Load-Balancer-Konfiguration
  • Einfache Überwachung
  • Einfach, einfach, einfach ...
  • Effektive Nutzung des Vollduplexnetzes (API - eingehend, Website - ausgehend)

Vorteile des Splittings

  • Die Überlastung der API hat keinen Einfluss auf die Ladezeit der Website
  • Detaillierte Überwachung (ich werde wissen, welche Komponente in diesem Moment Ressourcen verbraucht)

Irgendwelche Kommentare?

Dankeschön

Alexander

3voto

rogeriopvl Punkte 46915

Wie Sie bereits sagten, hat es in den meisten Fällen mehr Vorteile, die API auf demselben Server wie die Website zu hosten. Ich würde also bei dieser Option bleiben.

Wenn Sie jedoch mit viel Verkehr für die Website oder die API rechnen, wäre ein separater Server vielleicht besser geeignet.

0voto

Matthew Whited Punkte 21770

Wenn es sich um einen Load Balancer handelt, warum belassen Sie die Dienste und Seiten nicht auf derselben Website und lassen den Load Balancer/Cluster seine Arbeit tun?

0voto

jro Punkte 7212

Die von Ihnen aufgeführten Vor- und Nachteile sind betriebliche Erwägungen, aber Sie sollten auch die Anforderungen der Anwendung berücksichtigen.

  • Zwischenspeichern?
  • Sicherheit?
  • Andere Ressourcen, z. B. das Dateisystem

Diese können zutreffen oder auch nicht, aber wenn sich Ihre Anwendungsarchitektur von der der beiden unterscheidet, sollten Sie dies bei Ihrer Entscheidung berücksichtigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X