Den mit WebSphere Message Broker bereitgestellten globalen Cache können Sie zum Speichern von Daten verwenden, die Sie wiederverwenden möchten.
Der globale Cache ist in den Broker eingebettet. Standardmäßig ist der Cache inaktiviert. Wählen Sie zur Verwendung des Cache eine entsprechende Cacherichtlinie aus. Die Standardcacherichtlinie erstellt eine Standardtopologie aus Cachekomponenten in einem einzelnen Broker. Die Alternativen zur Standardrichtlinie bestehen darin, auf eine Richtlinie zu verzichten, um die eigene Topologie selbst verwalten zu können, indem Cacheeigenschaften für die Ausführungsgruppen festgelegt werden, oder eine XML-Richtliniendatei zu verwenden, um den Cache für mehrere Broker zu aktivieren.
Standardmäßig befindet sich in einer einzigen Ausführungsgruppe im Broker ein Katalogserver. Der Katalogserver steuert die Ablage von Daten und überwacht den Zustand von Container-Servern. In maximal drei anderen Ausführungsgruppen desselben Brokers befinden sich Container-Server. Ein Container-Server ist eine Komponente, die in die Ausführungsgruppe eingebettet ist, in der eine Untermenge der Cachedaten enthalten ist. Der Katalogserver und Container-Server werden beim Start des Brokers dynamisch in Ausführungsgruppen platziert. Alle Ausführungsgruppen können mit dem globalen Cache kommunizieren, unabhängig davon, ob sie Katalogserver, Container-Server oder keinen dieser Server enthalten. Jede Ausführungsgruppe umfasst einen Cache-Manager, der die in der betreffenden Ausführungsgruppe eingebetteten Cache-Komponenten verwaltet. Eine Beschreibung der Cachekomponenten finden Sie im Abschnitt Terminologie des Datencaching.
Bei Verwendung der Standardtopologie sind die Cacheeigenschaften für einzelne Ausführungsgruppen schreibgeschützt; ein Versuch, sie zu ändern, führt zur Ausgabe eines Fehlers. Wenn Sie die Standardtopologie verwenden, können Sie den Portbereich, den der Cache-Manager verwendet, und den Empfangsprogrammhost, der von den Cachekomponenten verwendet wird, angeben. Wenn Ihr Computer über mehrere Hostnamen verfügt, wird durch die Festlegung des Empfangsprogrammhosts sichergestellt, dass die Cachekomponenten den richtigen Hostnamen verwenden. Wenn Sie bestimmte Eigenschaften für die Ausführungsgruppe festlegen möchten, müssen Sie die Cacherichtlinieneigenschaft zuerst in none ändern. Die Ausführungsgruppeneigenschaften, die zuletzt von der Richtlinie auf Brokerebene festgelegt wurden, werden als Ausgangspunkt für die Anpassung beibehalten.
Sie können für jede Ausführungsgruppe explizit Eigenschaften festlegen. So können Sie beispielsweise bestimmte Ausführungsgruppen angeben, die die Katalog- und Container-Server bereitstellen sollen, sodass Sie die Brokerleistung optimieren können. Wenn die Cacherichtlinie auf none gesetzt wird, verwendet der Cache-Manager in jeder Ausführungsgruppe die von Ihnen festgelegten Werte. Die Ausführungsgruppeneigenschaften, die zuletzt von der Richtlinie auf Brokerebene festgelegt wurden, werden als Ausgangspunkt für die Anpassung beibehalten.
Wenn Sie die Ausführungsgruppe stoppen, die den Katalogserver enthält, ist der Cache nicht mehr verfügbar und die Daten im Cache gehen verloren. Bei einer Inaktivierung der Standardtopologie müssen Sie deshalb sicherstellen, dass Sie den Katalogserver richtig positionieren. Wenn Sie die Ausführungsgruppe, die den Katalogserver bereitstellt, erneut starten, kann er nicht mehr mit den Container-Servern in anderen Ausführungsgruppen kommunizieren. Obwohl diese Container-Server noch aktiv sind, sind sie nicht mehr Teil des Cache und Ihre Daten gehen verloren. Daher müssen Sie auch die Ausführungsgruppen erneut starten, die die Container-Server bereitstellen. Sie können auch den Broker erneut starten, um alle Cachekomponenten zurückzusetzen.
Bei Verwendung eines globale Cache, der mehrere Broker umfasst, muss sichergestellt werden, dass alle in einem eingebetteten Grid zusammengefassten WebSphere eXtreme Scale-Server denselben Domänennamen verwenden. Nur Server mit demselben Domänennamen können demselben Grid angehören. Der Domänenname wird von den WebSphere eXtreme Scale-Clients zur Erkennung und Unterscheidung der eingebetteten Grids verwendet. Wenn Sie in der Richtliniendatei für die Ausführungsgruppe bzw. den Broker keinen Domänennamen angeben, erstellt der Broker basierend auf den Servernamen der Katalogserver einen Namen.
Standardmäßig beginnen alle Server mit einem Domänennamen, der vom Broker abgeleitet wurde. In früheren Versionen von WebSphere Message Broker wurde als Domänenname für alle Server in allen eingebetteten Caches eine leere Zeichenfolge verwendet. Server in verschiedenen Domänen können nicht in dasselbe Grid eingebracht werden. Für einen Cache, der mehrere Broker umfasst, müssen Sie daher diese Broker gleichzeitig migrieren.
Sie können den globalen Cache mit WebSphere Message Broker-Befehlen, mit dem WebSphere Message Broker Explorer oder über die Message Broker-API konfigurieren. Der Abschnitt Eingebetteten globalen Cache konfigurieren enthält weitere Informationen hierzu.
Sie können alle Cachekomponenten im Broker inaktivieren, indem Sie die Cacherichtlinieneigenschaft auf disabled setzen. Die Cacherichtlinie ist standardmäßig auf disabled gesetzt.
Mithilfe von JavaCompute-Knoten können Sie Daten in einer Zuordnung im globalen Cache speichern und abrufen. Wenn von einem externen Grid eine globale Zuordnung eingeht, stellt die Methode getGlobalMap eine Verbindung zu dem Grid her, sofern noch keine besteht. Der Abschnitt Zugriff auf den globalen Cache mithilfe eines JavaCompute-Knotens enthält weitere Informationen hierzu.
Beim Abruf eines MbGlobalMap-Objekts können Sie außerdem angeben, wie lange die Daten im globalen Cache verbleiben, bis sie automatisch entfernt werden. Diese Zeitspanne wird als Lebensdauer bezeichnet und beginnt ab der letzten Aktualisierung des Zuordnungseintrags. Der Wert gilt für alle Cacheeinträge, die unter Verwendung dieses MbGlobalMap-Objekts in dieser Instanz des Nachrichtenflusses erstellt werden. Daten, die sich bereits in der von Ihnen angegebenen Zuordnung befinden, oder Daten, die von einem anderen MbGlobalMap-Objekt erstellt werden, sind von dem Wert der Lebensdauer nicht betroffen. Sie können mehrere MbGlobalMap-Objekte in verschiedenen Flüssen, Ausführungsgruppen oder Brokern erstellen, die alle in dieselbe Zuordnung im globalen Cache aufgelöst werden, jedoch unterschiedliche Lebensdauerwerte aufweisen.
Die Lebensdauer ist standardmäßig auf null gesetzt, was bedeutet, dass die Daten nie entfernt werden. Wenn Sie eine bestimmte Lebensdauer festlegen möchten, erstellen Sie eine Sitzungsrichtlinie, die Sie über das MbGlobalMap-Objekt referenzieren können. Ausführliche Anweisungen finden Sie im Abschnitt Daten aus dem globalen Cache entfernen.