HA Cluster (Advanced)

Einleitung

Die Installation von Relution in einer hochverfügbaren Konfiguration ermöglicht es, einen Cluster einzurichten. In diesem Cluster werden mehrere Relution-Instanzen (Applikationsknoten) gestartet, die sich alle mit derselben Datenbank verbinden. Ein Loadbalancer verteilt den Datenverkehr auf diese Knoten mithilfe des Round-Robin-Verfahrens.

Voraussetzungen

Um einen Cluster einzurichten, müssen alle Relution-Instanzen im gleichen Netzwerk sein. Die Knoten müssen über ihre Hostnamen und den TCP-Port 7800 miteinander kommunizieren können. Weitere Informationen dazu finden Sie unter: Netzwerkanforderungen.

Alle Relution-Instanzen müssen dieselben Konfigurationsdateien (z.B. application.yml) oder dieselben Umgebungsvariablen verwenden. Die einzige Ausnahme besteht darin, dass bei nicht ermittelbarem Hostnamen die Umgebungsvariable EXTERNAL_IP verwendet werden kann, um die IP-Adresse der Instanz festzulegen, über die andere Relution-Instanzen auf diese Instanz zugreifen können.

Funktionsweise

Beim Start einer Relution-Instanz verbindet sich dieser mit der Datenbank und trägt ihren Hostnamen in die Tabelle JGROUPSPING ein. Anschließend werden alle Einträge aus der Tabelle geladen, und die Instanz stellt eine Verbindung zu den anderen Instanzen über den TCP-Port 7800 her. Der Zustand des Clusters wird regelmäßig anhand der Datenbanktabelle überwacht. Wenn eine Instanz nicht erreichbar ist, werden ihre Einträge aus der Datenbank entfernt.

Überprüfung des Clusterstatus

Es gibt verschiedene Möglichkeiten, den Status des Clusters zu überprüfen:

1. System Portal

Für eine Clusterumgebung wird empfohlen, das System Portal zu aktivieren. Das System Portal bietet eine Übersicht über die registrierten Knoten im Cluster. Eine volle Funktionsweise setzt die Kommunikation zwischen den Knoten über Port 8099 voraus.

System Portal Übersicht der Knoten

2. Metrik-Endpunkt

Über den API-Endpunkt für Prometheus https://127.0.0.1:8099/actuator/prometheus können Sie die Metrik counter_cluster_size_total überprüfen, um herauszufinden, wie viele Knoten im Cluster erfolgreich registriert sind.