Frage

Das ist etwas, was ich habe über immer gefragt. Ich verstehe, dass die horizontale Skalierung ist über mehr Maschinen in den Mix. Aber ich kann auf diese zwei Ansätze denken. Angenommen, ich habe 20 Server ich verwenden möchte (plus eine Datenbank). Ich kann:

  1. Nehmen Sie alle 20 Server laufen als Anwendungsserver.
  2. Erstellen Sie verschiedene Server unterschiedliche Teile einer Aufgabe zu tun. Zum Beispiel hat eine Reihe von Server verarbeiten die Anforderung, dann ein anderen Satz Business-Logik anwenden, und dann in einer anderen die Datenbank Anruf.

Number 1 scheint häufiger und leichter zu verstehen, aber Nummer 2 scheint in Betracht gezogen werden „best practice“ (wie es ist vor allem einer n-Tier-Architektur). Wie kann man zwischen diesen beiden Modellen wählen? Und was sind die Vor- und Nachteile der einzelnen Ansätze?

War es hilfreich?

Lösung

Es ist auf der Aufgabe abhängt, und was wäre Ihre Engpässe.

Fast ohne Ausnahme, Sie gehen zu müssen mindestens zwei Arten von Server: 1) Anwendung und 2) Datenbank. Wenn Sie die Anwendungsserver verteilen, müssen Sie noch zu synchronisieren Daten zwischen ihnen, so dass einer dieser Server (oder einem separaten Server) Datenbankserver sein.

Wenn Sie die Datenbank nicht wissen, mit viel Verkehr getroffen werden (zB: Sie einen Live-Chat-basierte Website ausgeführt wird, und nicht viele Daten dauerhaft gespeichert oder synchronisiert), dann die Wahl machen nichts anderes als Anwendungsserver in Ordnung sein könnte .

Wahl # 2 ist jedoch besser, für eine Mehrheit der Websites, vor allem, wenn Sie nicht wissen im Voraus, welche Server-Engpässe werden wird. Wenn Sie nicht für jeden Server Typ Skala erlauben, dann werden Sie nicht weiter sein mit Quellcode während unerwarteten Wachstumsschübe neu zu schreiben. Dann werden Sie schwierige Entscheidungen wie „Welche Eigenschaften sollten wir deaktivieren, so dass die Website kann noch funktionieren, während wir auf Skalierung arbeiten?“ Machen müssen

Ehrlich gesagt, aber ich würde nicht zu viel Zeit, um über die Skalierbarkeit Sorgen verbringen. Sobald Sie einen Punkt, an dem der Server Lasten zu hoch zu erreichen, werden Sie in der Lage sein, einige Quelle Neufassungen zu leisten. Entweder durch neu entdeckte Finanzierungsquellen oder durch direkte Gewinne aus der Website. Typischer Fall: Twitter ist immer noch groß zu tun

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top