Die Verfügbarkeitsstrategien für Java Enterprise System-Bereitstellungen beinhalten folgende Punkte:
Lastenausgleich. Nutzt redundante Hard- und Softwarekomponenten zur verteilten Lastenverarbeitung. Von einem Lastenausgleichssystem werden sämtliche Anforderungen eines Dienstes an eine von mehreren symmetrischen Instanzen des Dienstes weitergeleitet. Wenn eine der Instanzen ausfällt, sind andere Instanzen verfügbar, die eine größere Last übernehmen.
Failover. Umfasst die Verwaltung redundanter Hard- und Software zur Gewährleistung des ununterbrochenen Zugriffs von Diensten und der Sicherheit kritischer Daten beim Ausfall einer Komponente.
Sun Cluster-Software beinhaltet eine Failover-Lösung für kritische Daten, die von Back-End-Komponenten verwaltet werden, beispielsweise der Nachrichtenspeicher für Messaging Server und Kalenderdaten für Calendar Server.
Replikation von Diensten. Durch die Replikation von Diensten werden mehrere Zugriffsmöglichkeiten auf dieselben Daten bereitgestellt. Directory Server enthält zahlreiche Replikations- und Synchronisierungsstrategien für den LDAP-Verzeichniszugriff.
Die nachfolgenden Abschnitte enthalten Beispiele für Verfügbarkeitslösungen, die unterschiedliche Ebenen hinsichtlich Lastenausgleich, Failover und Replikation von Diensten bereitstellen.
Platzieren Sie alle Rechnerressourcen für einen Dienst auf einem einzelnen Server. Wenn der Server ausfällt, schlägt der gesamte Dienst fehl.
Sun bietet High-End-Server mit folgenden Vorteilen:
Austausch und Neukonfiguration von Hardwarekomponenten im laufenden Betrieb
Ausführung mehrerer Anwendungen in fehlerisolierten Domänen auf dem Server
Aufrüstung hinsichtlich Kapazität und Leistungsgeschwindigkeit sowie E/A-Konfiguration ohne Neustart des Systems
Ein High-End-Server ist in der Regel teurer als ein vergleichbares System mit mehreren Servern. Ein einzelner Server hilft Kosten hinsichtlich Verwaltung, Überwachung und Hosting für Server in einem Datenzentrum zu sparen. Lastenausgleich, Failover und Entfernung von Single-Point-of-Failure gestalten sich in einem System mit mehreren Servern flexibler.
Es gibt mehrere Möglichkeiten, die Verfügbarkeit mit parallel redundanten Servern zu erhöhen, die sowohl Lastenausgleich als auch Failover bieten. In der nachfolgenden Abbildung sind zwei Replikationsserver dargestellt, die ein N+1-Failover-System zur Verfügung stellen. In einem N+1-System ist ein zusätzlicher Server vorhanden, der bei Ausfall eines Servers 100 %-ige Kapazität bereitstellt.
Die Rechnerkapazität der Server in der oben gezeigten Abbildung Horizontal redundante Systeme ist identisch. Die Leistungsanforderungen werden von einem Server allein gehandhabt. Der andere Server stellt 100 % Leistung bereit, wenn er als Reserve in Anspruch genommen wird.
Der Vorteil eines N+1-Failover-Konzepts besteht darin, dass während eines Failovers 100 % Leistung bereitgestellt werden können. Zu den Nachteilen zählen die höheren Hardwarekosten, denen keine entsprechende Steigerung der Gesamtleistung gegenübersteht (da ein Server ausschließlich für den Einsatz in Failover-Situationen vorgesehen ist).
In der folgenden Abbildung ist ein System dargestellt, in dem Lastenausgleich plus Failover implementiert werden und so die Leistung zwischen zwei Servern aufgeteilt wird.
In dem System, das in Horizontal redundante Systeme oben dargestellt ist, stehen beim Ausfalls eines Servers sämtliche Dienste zur Verfügung, jedoch nur zu einem bestimmten Prozentsatz der vollen Kapazität. Der verbleibende Server stellt die Rechnerkapazität von 6 CPUs bereit, es werden also 60 % der 10-CPU-Anforderung erfüllt.
Ein Vorteil dieses Konzepts besteht in der zusätzlichen latenten Kapazität von 2 CPUs, wenn beide Server verfügbar sind.
Aus der folgenden Abbildung geht die Verteilung zwischen mehreren Servern in Bezug auf Leistung und Lastenausgleich hervor.
Da das in der Abbildung Horizontal redundante Systeme dargestellte Konzept 5 Server umfasst, stellen beim Ausfall eines Servers die verbleibenden Server die Rechnerkapazität von insgesamt 8 CPUs bereit; dies entspricht 80 % der 10-CPU-Leistungsanforderung. Wenn Sie dem Konzept einen zusätzlichen Server mit einer Kapazität von 2 CPUs hinzufügen, verfügen Sie über ein n+1-Konzept. Wenn ein Server ausfällt, wird die Leistungsanforderung von den verbleibenden Servern zu 100 % erfüllt.
Dieses Konzept bringt folgende Vorteile mit sich:
Mehr Leistung bei Ausfall eines einzelnen Servers
Gewährleistete Verfügbarkeit sogar beim Ausfall mehrerer Server
Server können zu Wartungs- und Aktualisierungszwecken abwechselnd aus dem aktiven Betrieb genommen werden
Mehrere Low-End-Server sind in der Regel kostengünstiger als ein einzelner High-End-Server
Durch zusätzliche Server können die Verwaltungs- und Wartungskosten jedoch deutlich ansteigen. Zudem müssen die Kosten für das Hosting der Server in einem Datenzentrum berücksichtigt werden. Ab einem bestimmten Punkt führt das Hinzufügen weiterer Server zu einer verringerten Rendite.
In Situationen, in denen ein hohes Maß an Verfügbarkeit erforderlich ist (z. B. bei vier oder fünf Neunen), sollten Sie Sun Cluster-Software als Bestandteil Ihres Verfügbarkeitskonzepts in Erwägung ziehen. Bei einem Cluster-System handelt es sich um die Kombination redundanter Server mit Speicher und anderen Netzwerkressourcen. Die Server in einem Cluster kommunizieren ständig miteinander. Wenn einer der Server in den Offline-Modus versetzt wird, wird er von den verbleibenden Geräten im Cluster isoliert und der Failover-Vorgang für jegliche Anwendungen oder Daten vom deaktivierten Knoten in einen anderen Knoten durchgeführt. Der Failover-Vorgang läuft relativ schnell und mit nur geringer Beeinträchtigung der Dienstbereitstellung für die Benutzer des Systems ab.
Für Sun Cluster-Software sind zusätzliche dedizierte Hardware und besondere Kenntnisse hinsichtlich Konfiguration, Verwaltung und Wartung erforderlich.