Einführung
Die Konfiguration der B2B (z.B. Actions, Services, Channels, GlobalProperties, Extensions, Content Mappings) ist in der Datenbank gespeichert. Diese Daten werden in der Regel von einem B2B-Knoten gecacht, das heißt, sie werden nur einmal eingelesen, wenn sie zum ersten Mal benötigt werden, und dann im RAM des B2B-Knotens gespeichert. Das bedeutet, der B2B-Knoten kennt nur die gecachten Daten und die Änderungen, die er selbst durchgeführt hat.
Die Aufgabe der ClusterCommunication besteht darin, Änderungen, die auf einem der B2B-Knoten vorgenommen wurden, an andere Knoten weiterzugeben.
Die ClusterCommunication protokolliert Änderungen in der Datenbank. Auf jedem Knoten läuft ein Service, der regelmäßig die Änderungen aus der Datenbank liest und den Cache aktualisiert.
Beschreibung
Die ClusterCommunication ist für die Synchronisation der Knoten zuständig. Die ClusterCommunication überprüft standardmäßig jede Sekunde, ob es Änderungen gegeben hat, und sorgt dafür, dass die Caches auf allen Knoten aktualisiert werden. Folgende Caches werden aktualisiert:
-
ActionRegistry
-
ChannelRegistry
-
ServiceRegistry
-
GlobalPropertyRegistry
-
ContentRegistry
-
ExtensionRegistry
Einrichtung
Datenbank Tabellen erstellen
Zuerst müssen die folgenden Datenbank Tabellen erstellt werden:
-
B2BBP_DATA_COMMUNICATION
-
B2BBP_DATA_COMMUNICATION_VALUE
Die Datenbank Skripte können bei unserem Support angefragt werden.
Global Properties anlegen
Nun die im Folgenden beschriebenen Global Properties anlegen.
Poll Interval
B3P_CLUSTER_COMMUNICATION_POLL_INTERVALL (Default 1 Sekunde)
Zeitintervall, nach wie vielen Sekunden die Cluster Communication schauen soll, ob es Änderungen gibt. Default: 1 Sekunde
Nachrichten im Monitor
B3P_CLUSTER_COMMUNICATION_SHOW_MESSAGES (Default all)
Mögliche Werte:
-
all
-
normal
-
nothing
Wie viele Informationen sollen die ClusterCommunication im Monitoring liefern? Bei nothing gibt es nur eine Meldung wenn die Knoten asynchron sind.
Art der Verarbeitung
B3P_CLUSTER_COMMUNICATION_STATE
Als letztes folgende Global Property setzten. Damit beginnt die Cluster Communication zu arbeiten.
Mögliche Werte:
- auto
- manual (nicht empfohlen)
- off
Änderungen werden bei eingeschalteter ClusterCommunication automatisch aktiv.
Ausgeschlossene Knoten
B3P_CLUSTER_COMMUNICATION_NOT_USE_NODES (Default 99)
Bei dieser Global Property können Knotennummern angegeben werden, welche von der neuen Cluster Communication nicht berücksichtigt werden. Mehrere Knoten können durch „,“ bzw „;“ getrennt angegeben werde.
Beispiel: B3P_CLUSTER_COMMUNICATION_NOT_USE_NODES
= 99.
Hier aufgeführte Knoten erzeugen außerdem keine Knoten NODE_XX ist nicht synchron
Nachrichten im Monitoring.
Wenn in der GlobalProperty alle Knoten aufgeführt werden, welche nicht synchron sind, wird keine Nachricht im Monitoring erzeugt.
Wenn nur ein Teil der asynchronen Knoten aufgeführt ist, wird die Nachricht im Monitoring auf die übrigen Knoten reduziert.
Eine Änderung dieser Property erfordert einen Neustart der B2B-Knoten.
Behebung von Problemen bei der ClusterCommunication
Falls einer der B2B-Knoten entfernt wurde, geht die ClusterCommunication davon aus, dass es Probleme mit diesem Knoten gibt, und erstellt Warnungen, dass der Knoten nicht synchron ist.
Um dieses Problem zu beheben, sollten alle Einträge aus den Tabellen B2BBP_DATA_COMMUNICATION_VALUE und B2BBP_DATA_COMMUNICATION mit den folgenden Befehlen gelöscht werden:
DELETE FROM B2BBP_DATA_COMMUNICATION_VALUE;
DELETE FROM B2BBP_DATA_COMMUNICATION;
Starten Sie danach die Knoten neu. Die ClusterCommunication wird dadurch auf einen sauberen Stand neu initialisiert.
Andere Probleme, die auf diese Weise behoben werden können:
- Konfigurationsänderungen werden von einigen Knoten nicht erkannt.
- Scheduler-Services starten nicht.
- Scheduler-Services werden zu oft gestartet.
- Das manuelle Starten von Knoten funktioniert nicht.
ClusterCommunicationTestAction
Funktionsbeschreibung
Mit dieser Action kann getestet werden ob die Cluster Communication für Extensions auf einem Knoten korrekt funktioniert. Ist die Action grün dann arbeitet die Cluster Communication korrekt. Ist die Action rot so gibt es ein Problem mit der Cluster Communication. Diese Action bitte nicht in Produktiv genutzten Channels verwenden da die Action 10 Sekunden lange läuft.
Konfiguration
Zur Konfiguration ist nur das anlegen der Extension CLUSTER_COMMUNICATION_TEST_EXTENSION notwendig.Die Extension kann ohne Inhalt angelegt werden. Von derAction wird dann das aktuelle Datum in Millisekunden in die Extension geschrieben.
View Me Edit Me