Verfasst von: itgruendungmuenchen | Juli 17, 2008

Scheiss Skalierbarkeit – Teil 1

Die letzten Tage kuck mich mir ein bissl an was es denn so für Standardlösungen gibt um eine Webseite ausfallsicher zu machen.
Brauchen tu ichs aktuell sicher nicht, aber es würde nicht Schaden die Strategie für später zu kennen.
Da in meiner alten Firma vieles selbstgestrickt war, ich das hier aber nicht will weils bestimmt (mittlerweile) auch gute Standardlösungen gibt die ich dann nicht selbst weiterpflegen muss, guck ich mich mal ein bissl um.
“Problem” ist neben billig auch, dass die Rechner selbst ja bei 1und1/Hetzner/Strato stehen.
Zudem sollten schreiboperationen dazu führen das die geschrieben Informationen “sofort” auf allen System zur Verfügung stehen. Also kein Script das alle 15/30min eine Kopie vom Master macht

Mein System besteht wie wohl fast alle kleinen Projekte aus einem Rechner (grün) mit Webserver, Datenbank und Dateisystem das Daten vorhält die der Webserver im Hintergrund benötigt um die Seiten darstellen zu können. Diese Daten müssen bei verteilten Webserver dann entweder auf allen Webservern vorhanden sein oder so ähnlich wie die Datenbank angebunden werden. Also eine Art “zweiter Datenbank” auf Platte.
Jetzt ist die Frage: Wie ich günstigst aus dem System “2″ machen?

Webserver:
Für den Webserver ist das Problem noch das einfachste, dafür gibts ein Proxy-Modul für Apache das die Anfragen dann einfach weiterverteilt. Entweder zufällig oder per Cookie dann immer auf den gleichen Zielrechner.

Macht man aus dem Webserver mal 3 Rechner sieht die Lage schon ein bissl anders aus:

Für Filesystem und Datenbank hab ich hier jetzt mal 2 extra Rechner eingezeichnet damit man gleich das nächste Problem sieht. Das Webserverthema hat sich nun erledigt. Das Problem ist nun die zentrale Datenhaltung auf Platte und Datenbank. Auch das muss nun gelöst werden.

Datenbank:
Im Buch High Performance MySQL:
http://books.google.com/books?q=High+Performance+MySQL&btnG=Nach+B%C3%BCchern+suchen&hl=de
ist einiger zu lesen wie Yahoo! vorgeht. Ganz schlau daraus bin ich aber gestern abend innerhalb einer Stunde noch nicht geworden. Die Theorie von geclusterten MySql-DBs und wer/wie dann das Loadbalancing tut kam in dem schlauen Büchlein nicht so richtig rüber.

Filesystem:
NFS ?

Fortsetzung folgt.

PS: Sollte irgendwo im Netz dazu was stehen, her damit. Gefunden hab ich bisher nix gescheites. Dabei sind die Anforderungen eh relativ gering.


Einen Kommentar hinterlassen

Ihre Antwort:

Kategorien