Virtimo Cluster-Manager

Die Nutzung des Cluster-Managers ist lizenzpflichtig. Für jede INUBIT-Instanz innerhalb eines Clusters muss eine separate Lizenz erworben werden.

Verwendung

Mit dem Virtimo Cluster-Manager besteht die Möglichkeit, mehrere INUBIT-Instanzen zu einem Cluster zusammenzuführen, zur Laufzeit neue Instanzen hinzuzufügen bzw. herauszunehmen.

So kann beispielsweise eine gezielte Reaktion auf hohe Lasten oder hohe Verfügbarkeit eines INUBIT-Systems erreicht werden.

Voraussetzungen

Die folgenden Komponenten sind für die vollständige Implementierung eines geclusterten Systems erforderlich:

  • INUBIT-Instanzen: Mindestens zwei INUBIT-Installationen, einschließlich einer Lizenz für die Verwendung des Cluster-Managers

  • JGroups: INUBIT-Instanzen müssen über JGroups miteinander kommunizieren können

  • Load-Balancer: Die eingehenden Anfragen an die INUBIT-Instanzen des Clusters verteilen

Der Cluster-Manager steuert, welche Knoten zum Cluster gehören und wer der aktuelle Leader ist. Der Load-Balancer kümmert sich um die Verteilung der eingehenden Anfragen an die einzelnen INUBIT-Instanzen im Cluster. Diese Trennung der Zuständigkeiten muss bei der Konfiguration mit berücksichtigt werden

Architektur

Ein Cluster besteht immer aus einem Leader-Knoten und beliebig vielen Backup-Knoten. Sollen INUBIT-Instanzen in einem Cluster zusammenarbeiten, muss dies bei Implementierung der Technical Workflows berücksichtigt werden.

Leader-Knoten

Der Leader-Knoten übernimmt dabei alle Aufgaben, die innerhalb des Systems fachlich auf nur einem einzelnen Knoten ausgeführt werden sollen, z.B. geschedulte Workflows.

Backup-Knoten

Alle Knoten (Leader und Backup) übernehmen die Aufgaben, die fachlich parallel ausgeführt werden können.

Die Prüfung, ob die aktuelle INUBIT-Instanz ein Leader- oder Backup-Knoten ist, erfolgt mithilfe eines zusätzlichen Workflows.

Applikationsstatus

Der Cluster-Manager läuft zusätzlich auf jeder INUBIT-Instanz und prüft selbstständig in regelmäßigen Abständen, ob die Instanz noch verfügbar ist. Sollte der INUBIT nicht mehr erreichbar sein, wird die Instanz im Cluster abgemeldet. Die Abmeldung im Load-Balancer ist keine Aufgabe des Cluster-Managers und muss separat gelöst werden

Folgende INUBIT REST-API Endpunkte bieten sich zur Prüfung des Status an:

Konfiguration

Aktivierung des Cluster-Managers

Über die Datei <inubit-installdir>/inubit/server/ibis_root/conf/ibis.xml kann der Cluster-Manager aktiviert werden:

<Properties>
    ...
    <!-- Cluster Manager configuration -->
    <Property name="ActivateClusterManager" type="Boolean">false</Property>
</Properties>
  1. Process Engine stoppen

  2. Property ActivateClusterManager auf true setzen

  3. Process Engine starten

Konfiguration des Cluster-Managers

  • Die eigentlichen Konfigurationsdetails für den Cluster-Manager werden über die Datei inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/virtimo_cluster_manager.xml gesteuert. Hier werden alle für die Konfiguration der Clusterknoten erforderlichen Einstellungen vorgenommen.

  • Die Standardkonfiguration von JGroups befindet sich in <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/jgroups.xml. Alle erforderlichen Einstellungen für die Kommunikation zwischen Knoten werden hier vorgenommen.

    Die Datei enthält alle möglichen Konfigurationsoptionen, die über diesen Link aufgerufen werden können JGroups.

Festlegung des Leader-Knotens

Über die Einstellung priority wird festgelegt, welcher Knoten als Leader im Cluster aktiv sein soll. Legen Sie für genau einer Instanz in der Konfiguration den höchsten Integerwert fest. Sobald diese Instanz dem Cluster beitritt, wird sie als Leader gesetzt.

Sollte der Leader ausfallen, wird anhand der Priorität der übrigen Instanzen ein neuer Leader gewählt. Dies ist die Instanz mit der dann aktuell höchsten Priorität.

Konfigurieren Sie für jede INUIBT-Instanz im Cluster eine andere Priorität. Damit lässt sich die Wahl des Leader-Knotens am sichersten steuern.

Prüfung auf den Leader-Knoten

Auf der Instanz, die als Leader aktiv ist, wird eine Datei im Dateisystem abgelegt. Der Pfad zur Ablage kann über die Konfiguration angepasst werden. Ein zusätzlicher Workflow prüft das Vorhandensein dieser Datei. Darüber kann zur Laufzeit ermittelt werden, ob die jeweilige INUBIT-Instanz der Leader-Knoten ist oder nicht.

Den Workflow finden Sie unter: <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/inubit-cluster-manager-workflow.zip.

Benutzerdefiniertes Logging aktivieren

Um die Logausgaben des Cluster-Managers in eine separate Datei umzuleiten, gehen Sie wie folgt vor:

  1. Melden Sie sich mit einer Workbench an

  2. Gehen Sie zur Registerkarte Administrator und wählen Sie Allgemeine Einstellungen

  3. Navigieren Sie in der Baumstruktur zu Logging > Trace

  4. Wählen Sie im rechten Seitenbereich Individuelles Server-Trace aus und klicken Sie auf die Schaltfläche "…​".

  5. Der Logger-Dialog wird geöffnet

  6. Klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen und wählen Sie Hinzufügen

  7. Geben Sie den Namen de.virtimo.inubit.clustermanager ein, wählen Sie "Rotierende Datei-Ausgabe" und klicken Sie auf OK

  8. Wenn Sie den Namen der Protokolldatei aktualisieren möchten, wählen Sie den neu hinzugefügten Eintrag in der Tabelle aus und klicken Sie auf die Schaltfläche "…​".

  9. Wählen Sie "Ausgabedatei" und passen Sie den Wert auf etwa $ibis.root.directory$/log/clustermanager.log an

  10. Schließen Sie den Dialog "Rotierende Dateiausgabe" mit OK

  11. Schließen Sie den Dialog "Logger" mit OK

  12. Speichern Sie die allgemeinen Einstellungen, indem Sie auf das Speichern-Symbol in der globalen Symbolleiste klicken