next up previous contents
Next: Caching Up: Der Bildungsmarktplatz Sachsen - Previous: Der Bildungsmarktplatz Sachsen -   Contents

Konzept zur Lastverteilung

Hinsichtlich der Frage der Lastverteilung ergibt sich relativ schnell anhand der genannten Alternativen, dass das Konzept des RoundRobin-DNS die günstigste Lösung darstellt. Es verbindet einen geringen administrativen Aufwand mit ausreichend Nutzen. Dieser kann aufgrund des geschickten Einsatzes von IPs auch im Falle eines Ausfalls ohne Probleme weiterarbeiten, ohne am DNS-System an sich Eingriffe vornehmen zu müssen. Das RoundRobin wird über den Namen www.bildungsmarkt-sachsen.de angesetzt und dieser wird auf die IPs abgebildet, die den Namen bms1.hrz.tu-chemnitz.de und bms2.hrz.tu-chemnitz.de zugeordnet sind.
Dabei sind die Ideen der Hochverfügbarkeit derart, dass im Falle eines Ausfalls dafür Sorge getragen wird, dass die IPs, die den Namen bms1 und bms2 zugeordnet sind, stets erreichbar bleiben. Im Falle eines Ausfalls übernimmt der dann einzig funktionstüchtig gebliebene Server beide IPs und alle Funktionen.

Gegen die Alternative der dienstbezogenen Lastverteilung spricht der Aspekt, dass hier genau ein externer Dienst verteilt werden soll.
Hingegen die Alternativen der Lastverteilung mittels virtuellem Server wären anwendbar, haben aber einen deutlich höheren administrativen Aufwand in der Einrichtung und einer komplexen Konfiguration. Hinzu kommt, dass eine weitere IP, nämlich die virtuelle, benötigt würde und der Lastverteiler einen neuen Single Point of Failure darstellt. Die Lastverteilung mittels Switch stellt ebenfalls einen höheren Kostenfaktor dar, da die Hardware, die so etwas unterstützt, deutlich teurer ist, als die so benötigte. Zur Lastverteilung mit einem LVS würde eine weitere Maschine notwendig werden, die diese Funktion übernimmt und in ihrer zentralen Funktion überwacht werden muss sowie weiteren administrativen recht umfangreichen Aufwand darstellt.

Damit die Lastverteilung die Arbeit nicht negativ beeinflusst, müssen ja beide Maschinen einen identischen Datenbestand aufweisen. Dazu dient der ZEO-Server, der eine einheitliche Sicht auf die ZODB von beiden Instanzen aus gewährleistet und koordiniert. Die restlichen Daten befinden sich im PostgreSQL-Datenbankserver, der für beide Maschinen per Netz erreichbar ist.

Im Zusammenhang mit der PostgreSQL-Datenbank sei zur Lastverteilung noch erwähnt, dass zwar, wie bei "`pgpool"' angedeutet, eine Lastverteilung möglich, aber recht schwierig ist. Vorallem in der Kombination von Lastverteilung mit einer Sicherung der Datenkonsistenz über mehrere Systeme stellen sich Effekte dar, die widerspüchliche Anforderungen aufzeigen.
Wie im "`pgpool"' ist nur bei ausschließlich lesendem Zugriff und einer davon getrennten Wahrung der Datenkonsistenz eine einfache Lösung der Lastverteilung möglich. Eine volle Lastverteilung wäre nur in einer Kombination denkbar, in der sowohl ein Werkzeug die Ausführung abhängiger Transaktionen geeignet serialisiert, eine passende Verteilung über die Datenbankserver findet und ein geeigneter Mechanismus gegeben ist, der eine gegenseitige Replikation mehrerer Datenbanken sichert. Im Kontext der verteilten Datenbanken wird dies meist auch nur durch Einsatz eines Servers erreicht, der das Scheduling der Transaktionen und die volle Verteilung kontrolliert.
Für die hier geplante Applikation ist daher von einem derart komplexen Systemaufbau abzuraten.


next up previous contents
Next: Caching Up: Der Bildungsmarktplatz Sachsen - Previous: Der Bildungsmarktplatz Sachsen -   Contents
Marko Damaschke 2005-06-11