Technologien für Hochverfügbarkeit & LoadbalancingHochverfügbarkeit durch Heartbeat FailoverHochverfügbarkeit kann vergleichsweise einfach erreicht werden, indem ein Server doppelt zur Verfügung steht. Der jeweils aktive Clusternode (Master) ist produktiv und beantwortet die Anfragen der Benutzer. Der passive Server (Slave) befindet sich normalerweise nur im standby Betrieb und überwacht den Master auf seine korrekte Funktion. Bei einem Ausfall des Master Servers, übernimmt der bisher passive Clusternode automatisch dessen Funktion, so dass die User den Ausfall kaum feststellen können. Datenkonsistenz durch FestplattenreplikationDamit bei einem Ausfall alle Daten der Anwendung auf dem sekundären Server zur Verfügung stehen, müssen diese zu jeder Zeit identisch sein. Im klassischen Fall kommt dabei ein "Shared-Storage" Gerät zum Einsatz, dass an beide Clusternodes angeschlossen wird. Wesentlich preisgünstiger lässt sich ein "Shared-Nothing" Cluster implementieren, bei dem die Daten durch Software gespiegelt werden. Dafür existieren unterschiedliche Lösungen, die praktisch ein RAID 1 via Netzwerk implementieren, so dass alle Daten gleichzeitig auf die Festplatten beider Server geschrieben werden. Gegenüber dem Betriebssystem verhält sich eine solche Lösung komplett transparent, also wie eine gewöhnliche Festplatte, so dass alle bekannten Anwendungen damit genutzt werden können. LoadbalancingIm Gegensatz zum Failover Ansatz werden bei Loadbalancing die eingehenden Clientanforderungen transparent auf mehrere Server verteilt. Dadurch wird das System leistungsfähiger als ein einzelner Server und hochgradig skalierbar, da zur Erweiterung einfach weitere Applikationsserver in die Lastverteilung integriert werden können. Da das System auf Layer 4, also der Transportschicht arbeitet, können das auch andere Plattformen, wie Microsoft Windows oder Sun Solaris sein. Kombination von Loadbalancing und FailoverIdealerweise sollte Loadbalancing mit Hochverfügbarkeit kombiniert werden, da der Director sonst einen single-point of failure darstellt. Das Ergebnis ist ein redundanter, hochverfügbarer und gut skalierbarer Cluster, der sich grundsätzlich für alle Applikationen einsetzen lässt.
|