Sun Cluster 3.1 10/03 Konzepthandbuch

Scalable-Dienst-Architektur

Das wichtigste Ziel eines Cluster-Netzwerks besteht darin, Skalierbarkeit für Datendienste zu ermöglichen. Skalierbarkeit bedeutet, dass ein Datendienst trotz steigender Belastung eine konstante Antwortzeit beibehalten kann, weil dem Cluster neue Knoten hinzugefügt und neue Serverinstanzen ausgeführt werden. Solche Dienste werden als Scalable-Datendienste bezeichnet. Ein gutes Beispiel für einen Scalable-Datendienst ist ein Webdienst. In der Regel besteht ein Scalable-Datendienst aus mehreren Instanzen, von denen jede auf unterschiedlichen Cluster-Knoten ausgeführt wird. Insgesamt verhalten sich diese Instanzen aus Sicht eines Remote-Clients wie ein einziger Dienst und führen die Funktionen dieses Dienstes aus. Ein Scalable-Webdienst kann zum Beispiel aus mehreren httpd-Dämonen auf unterschiedlichen Knoten bestehen. Jeder httpd-Dämon kann eine Client-Anforderung bedienen. Welcher Dämon die Anforderung bedient, hängt vom Lastausgleichsverfahren ab. Die Antwort an den Client kommt scheinbar vom Dienst und nicht vom konkreten Dämon, der die Anforderung bedient hat, so dass der Eindruck eines einzigen Dienstes gewahrt wird.

Ein Scalable-Dienst besteht aus Folgendem:

Die nachstehende Abbildung zeigt eine Scalable-Dienst-Architektur.

Abbildung 3–8 Scalable-Dienst-Architektur

Zweck der Abbildung ist die Beschreibung der Scalable-Dienst-Architektur.

Die Knoten, welche die globale Schnittstelle nicht hosten (Proxy-Knoten), hosten die gemeinsam genutzte Adresse auf ihren Schleifenschnittstellen. Die an der globalen Schnittstelle eintreffenden Pakete werden anhand konfigurierbarer Lastausgleichsverfahren auf andere Cluster-Knoten verteilt. Die möglichen Lastausgleichsverfahren werden im Folgenden beschrieben.