Skalierbarkeit/Verteilen auf mehrere Server

cr4m0

Angesehenes Mitglied
Ich lese dauernd etwas von Skalierbarkeit von Projekten. Außerdem sieht man natürlich immer wieder bei großen Seiten, dass die mehrere Server haben, wie z.B. img1.example.org usw. für Bilder...

Meine Frage: Wie setzt man so eine Verteilung von Webseiten auf mehrere Server am besten um? Bei Wer-Kennt-Wen.de habe ich mal im Cookie gesehen, dass da eine Server-ID drin stand. Wäre es also eine Möglichkeit, jedem Besucher am Anfang einen Server "zuzulosen", auf den er dann immer zugreift?
Oder sollte man besser (Beispiel) für alle Avatare einen "img1.example.org" haben, für die Datenbanktabelle mit den User-Daten einen "data1.example.org", für die Datenbanktabelle mit den Nachrichten einen "data2.example.org" usw.?

Natürlich ist die Benennung der Domains egal, aber es geht mir hier um die Verteilung. Habt ihr Ideen bzw. sogar Erfahrungen mit diesem Thema?
 
Grosse Seiten benötigen mehr "Power", muss ja so sein
smile.gif
.
In der Regel werden sogenannte NAT verwendet. Dabei übernimmt eine Hardware (ein sogenannter Load-Balancer) die Verteilung der Lasten. Es gibt natürlich noch weitere Möglichkeiten, diese sind weniger Verbreitet.
http://de.wikipedia.org/wiki/Server_Load_B...g#NAT_based_SLB

Bei kleineren Seiten ist dein Vorschlag getrennter Systeme sicher sinnvoll, da NAT Lösungen in der Regel einiges kosten und auch Platz beanspruchen (1+ HE ist die Regel für einen kleinen Load Balancer).
In der Regel wird dann ein Contentserver (Bilder, Text & Co. event. in Kombination mit einem NAS betrieben) und ein separater MySQL DB Server betrieben. Damit lässt sich die Performance schon deutlich verbessern. Bei Projekten mit viel E-Mailverkehr kann eine Entlastung bereits duch einen separaten Mailserver in hohem Masse erzielt werden, dies ist meine Erfahrung.
 
Die Verteilung auf mehrere Server hängt ganz vom Aufbau der Seite ab. Einzelne Teile (Datenbank, Webserver, spezieller Server für statische Dateien wie Bilder) abgetrennt zu halten ist der einfachere Teil, aber irgendwann wird meist die Datenbank zum Problem. Während Bilder sich auf mehrere Server verteilen lassen und Webserver dank einfacher Verteilung praktisch beliebig skalieren ist es schwierig, größere Datenbanken zu skalieren. Eine interessante Ressource zu diesem Thema ist highscalability.com.
 
Zurück
Oben