Bei der asynchronen Multimasterreplikation verbinden Sie eine Gruppe von Katalogservicedomänen miteinander.
Die verbundenen Katalogservicedomänen werden anschließend durch Replikation über die Verbindungen synchronisiert.
Sie können die Verbindungen mithilfe von Eigenschaftendateien, zur Laufzeit mit
JMX-Programmen (Java Management
Extensions) oder mit Befehlszeilendienstprogrammen definieren. Die Gruppe aktueller Verbindungen für eine Domäne
wird im Katalogservice gespeichert.
Sie können Verbindungen hinzufügen und entfernen, ohne die Katalogservicedomäne, die das Datengrid hostet, erneut starten zu müssen.
Vorbereitende Schritte
- Weitere Informationen zu Multimasterreplikationstopologien und Designhinweise finden Sie unter Topologien mit mehreren Rechenzentren planen.
Sie können Verbindungen zwischen Katalogservicedomänen mithilfe der Servereigenschaftendatei konfigurieren, um die
Topologie während des Serverstarts zu bilden. Verbindungen können auch zur Laufzeit konfiguriert werden.
- Wenn Sie Ladeprogramme (Loader) in Ihrer Multimasterreplikationstopologie verwenden, müssen Sie planen, wie Sie
die Datengenauigkeit zwischen den Rechenzentren verwalten möchten.
Die Methoden, die Sie verwenden können, variieren je nach verwendeter Topologie.
Weitere Informationen finden Sie im Abschnitt Hinweise zu Ladeprogrammen in einer Multimastertopologie.
Vorgehensweise
- Für Bootstrapzwecke Verbindungen in der Servereigenschaftendatei für den Katalogserver jeder Katalogservicedomäne in der Topologie definieren.
Weitere Informationen zum Definieren dieser Datei für den Katalogserver finden Sie unter Servereigenschaftendatei.
Wichtig: Bei der Eingabe von Eigenschaftsnamen muss die Groß-/Kleinschreibung beachtet werden.
- Name der lokalen Domäne:
- Geben Sie den Namen der Katalogservicedomäne für den aktuellen
Katalogserver an, z. B. A:
domainName=A
- Eine optionale Liste mit Namen fremder Domänen:
Geben Sie die Namen der Katalogservicedomänen an, zu denen Sie in der Multimasterreplikationstopologie eine Verbindung herstellen
möchten, z. B. B:
foreignDomains=B
- Eine optionale Liste mit Endpunkten für die fremden Domänen.
- Gibt die Verbindungsinformationen für die Katalogserver der fremden Domänen an, z. B.
Domäne B:
B.endPoints=hostB1:2809, hostB2:2809
Wenn eine fremde Domäne mehrere Katalogserver hat, geben Sie sie alle
an.
- Verwenden Sie das Dienstprogramm xscmd oder JMX-Programmierung, um Verbindungen zur Laufzeit
hinzuzufügen oder zu entfernen.
Die Verbindungen für eine Domäne werden im Katalogservice im replizierten Speicher verwaltet.
Diese Gruppe von Verbindungen kann jederzeit vom Administrator geändert werden, ohne dass ein Neustart dieser Domäne oder einer anderen Domäne
erforderlich ist.
Das Dienstprogramm xscmd enthält mehrere Optionen für die Bearbeitung von Verbindungen.
Das Dienstprogramm xscmd stellt eine Verbindung zu einem Katalogservice und damit zu einer einzigen Katalogservicedomäne her.
Deshalb kann das Dienstprogramm xscmd verwendet werden, um Verbindungen zwischen der Domäne, zu dem es eine Verbindung herstellt, und jeder anderen Domäne
zu erstellen und zu entfernen.
Verwenden Sie die Befehlszeile, um eine Verbindung zu erstellen. Beispiel:
xscmd –c establishLink -cep host:2809 -fd dname -fe fdHostA:2809,fdHostB:2809
Der Befehl richtet eine neue Verbindung zwischen der lokalen Domäne und der fremden Domäne
dname ein. Der Katalogservice dname
wird unter fdHostA:2809 und fdHostB:2809 ausgeführt.
Die lokale Katalogservicedomäne hat die Host/Port-Kombination
host:2809 für den Listener des Katalogservice. Geben Sie alle
Katalogserviceendpunkte der fremden Domäne an, so dass eine Verbindung mit Fehlertoleranz
zur Domäne möglich ist.
Von der Verwendung eines einzigen host:port-Paars für den Katalogservice der fremden Katalogservicedomäne wird abgeraten.
Sie können jede lokale Katalog-Service-JVM mit dem Dienstprogramm xscmd und der Option
-cep angeben. Wenn der Katalogserver
in einem Deployment Manager von WebSphere Application
Server ausgeführt wird, ist der Port gewöhnlich 9809.
Die für die fremde Domäne angegebenen Ports sind keine JMX-Ports. Es sind die gewöhnlichen Ports, die für Clients von eXtreme Scale verwendet werden.
Nach dem Absetzen des Befehls zum Hinzufügen einer neuen Verbindung weist der Katalogservice alle Container
unter seiner Verwaltung an, mit der Replikation in der fremden Domäne zu beginnen.
Eine Verbindung ist nicht auf beiden Seiten erforderlich. Es muss nur auf einer Seite eine Verbindung erstellt werden.
Verwenden Sie die Befehlszeile, um eine Verbindung zu entfernen. Beispiel:
xscmd –c dismissLink -cep host:2809 -fd dname
Der Befehl stellt eine Verbindung
zum Katalogservice für eine Domäne her und weist diesen an, die Replikation in einer bestimmten Domäne
zu stoppen.
Eine Verbindung muss nur auf einer Seite entfernt werden.
Verbindungen zwischen zwei Katalogservicedomänen
Angenommen, Sie möchten ein Setup mit zwei Katalogservicedomänen, Domäne A und Domäne B, konfigurieren.
Abbildung 1. Verbindung zwischen Katalogservicedomänen
Im Folgenden sehen Sie die Servereigenschaftendatei für den Katalogserver
in Domäne A:
domainName=A
foreignDomains=B
B.endPoints=hostB1:2809, hostB2:2809
Im Folgenden sehen Sie die Servereigenschaftendatei
für den Katalogserver in Domäne B. Beachten Sie die Ähnlichkeit der beiden Eigenschaftendateien.
domainName=B
foreignDomains=A
A.endPoints=hostA1:2809,hostA2:2809
Nach dem Start der beiden Domänen
werden alle Datengrids mit den folgenden Merkmalen zwischen den Domänen repliziert.
- Das Datengrid hat einen privaten Katalogservice mit einem eindeutigen Domänennamen.
- Das Datengrid hat denselben Gridnamen wie andere Grids in der Domäne.
- Das Datengrid hat dieselbe Anzahl an Partitionen wie andere Datengrids in der Domäne.
- Das Datengrid hat den Typ FIXED_PARTITION (Datengrids des Typs PER_CONTAINER können nicht repliziert werden).
- Das Datengrid hat dieselbe Anzahl an Partitionen (kann, muss aber nicht dieselbe Anzahl und dieselben Typen von Replikaten haben).
- Das Datengrid hat dieselben Replikationsdatentypen wie andere Datengrids in der Domäne.
- Das Datengrid hat dieselben MapSet-Namen, Map-Namen und dynamischen Map-Schablonen wie andere Datengrids in der Domäne.
Die Replikationsrichtlinie einer Katalogservicedomäne wird ignoriert.
Das vorherige
Beispiel zeigt, wie jede Domäne mit einer Verbindung zur anderen Domäne konfiguriert wird, aber es muss nur in eine einzige
Richtung eine Verbindung definiert werden.
Diese Tatsache ist insbesondere in Hub- und Peripherietopologien hilfreich, weil die Konfiguration sehr viel einfacher ist.
Die Hub-Eigenschaftendatei muss nicht aktualisiert werden, wenn Peripheriegeräte hinzugefügt werden,
und jede Peripheriegerätedatei muss nur Hub-Informationen enthalten.
Auch in einer Ringtopologie muss jede Domäne nur eine Verbindung zur vorherigen Domäne
und zur nächsten Domäne im Ring haben.
Beispiel: Hub- und Peripherietopologie
Abbildung 2. Hub- und Peripherietopologie
Der Hubs und die vier und Peripheriedomänen
(Domänen A, B, C und D) haben Servereigenschaftendateien wie die folgenden:
domainName=Hub
Peripheriedomäne
A hat die folgenden Servereigenschaften:
domainName=A
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
Peripheriedomäne
B hat die folgenden Servereigenschaften:
domainName=B
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
Peripheriedomäne
C hat die folgenden Servereigenschaften:
domainName=C
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
Peripheriedomäne
D hat die folgenden Eigenschaften:
domainName=D
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
Nächste Schritte
Sie können einen angepassten Kollisionsarbiter für die Behebung von Kollisionen
zwischen den Katalogservicedomänen angeben. Weitere Informationen finden Sie unter
Angepasste Arbiter für Replikation mehrerer Master entwickeln.