Dynamischen Cache (DynaCache) für die Verwendung des dynamischen Cache-Providers von WebSphere eXtreme Scale konfigurieren

Die dynamische Cache-Engine ist der Standard-Cache-Provider für die APIs und das Framework des dynamischen Cache. Der dynamische Cache ermöglicht WebSphere eXtreme Scale jedoch, als Kern-Caching-Engine zu agieren. Sie können den dynamische Cache so konfigurieren, dass WebSphere eXtreme Scale und nicht die Standard-Engine des dynamischen Caches als Cache-Provider verwendet wird. Wenn Sie den dynamischen Cache für die Verwendung von WebSphere eXtreme Scale konfigurieren, können Sie die Transaktionsunterstützung, eine verbesserte Skalierbarkeit, eine höhere Verfügbarkeit und weitere Features von WebSphere eXtreme Scale nutzen, ohne den vorhandenen Caching-Code des dynamischen Cache zu ändern.

Vorbereitende Schritte

  • Eine Übersicht über die Funktionen von WebSphere eXtreme Scale finden Sie im Artikel "Einführung: Dynamischer Cache".
  • Prüfen Sie, ob der Einsatz von WebSphere eXtreme Scale für die Anwendungen, die auf Ihren Anwendungsservern ausgeführt werden, von Nutzen sind.

    Die Features von WebSphere eXtreme Scale erweitern die verteilte Funktionalität der dynamischen Cachefunktion über das Leistungsspektrum der Standard-Engine des dynamischen Caches und des Datenreplikationsservice hinaus. Mit WebSphere eXtreme Scale können Sie Caches erstellen, die tatsächlich zwischen mehreren Servern verteilt werden, anstatt sie nur zu replizieren und zwischen den Servern zu synchronisieren. Caches von WebSphere eXtreme sind transaktionsorientiert und hoch verfügbar und stellen sicher, dass jeder Server die Informationen zum dynamischen Cacheinhalt hat. WebSphere eXtreme Scale bietet auch eine höhere Servicequalität für die Cachereplikation als der Datenreplikationsservice.

    Diese Vorteile bedeuten nicht, dass der dynamische Cache-Provider für eXtreme Scale die richtige Wahl für jede Anwendung ist. Verwenden Sie die Entscheidungsstruktur und die Matrix für den Featurevergleich im Artikel Dynamischen Cache-Provider für WebSphere eXtreme Scale konfigurieren im Information Center von WebSphere eXtreme Scale Version 7.0, um eine Übersicht über diesen Cache-Provider abzurufen.

Wenn Sie entscheiden, dass es nützlich für Ihre Anwendungen ist, lesen Sie die Informationen im Abschnitt "Dynamischen Cache-Provider für WebSphere eXtreme Scale konfigurieren" der Produktübersicht über WebSphere eXtreme Scale Version 7.0, um für Ihre Caching-Implementierung die richtige Topologie für WebSphere eXtreme Scale zu bestimmen.

Wenn Sie WebSphere eXtreme Scale anstelle der Standard-Engine des dynamischen Caches verwenden, weist der dynamische Cache die folgenden Einschränkungen auf:
  • Plattencaches werden nicht unterstützt. Die folgenden angepassten Eigenschaften funktionieren nicht:
    • com.ibm.ws.cache.CacheConfig.enableDiskOffload
    • com.ibm.ws.cache.CacheConfig.diskOffloadLocation
    • com.ibm.ws.cache.CacheConfig.flushToDiskOnStop
    • com.ibm.ws.cache.CacheConfig.htodCleanupFrequency
    • com.ibm.ws.cache.CacheConfig.htodDelayOffload
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadEntriesLimit
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadDepIdBuckets
    • com.ibm.ws.cache.CacheConfig.htodDelayOffloadTemplateBuckets
    • com.ibm.ws.cache.CacheConfig.diskCachePerformanceLevel
    • com.ibm.ws.cache.CacheConfig.diskCacheEvictionPolicy
    • com.ibm.ws.cache.CacheConfig.diskCacheHighThreshold
    • com.ibm.ws.cache.CacheConfig.diskCacheLowThreshold
    • com.ibm.ws.cache.CacheConfig.diskCacheSize
    • com.ibm.ws.cache.CacheConfig.diskCacheSizeInGB
    • com.ibm.ws.cache.CacheConfig.diskCacheEntrySizeInMB
    • com.ibm.ws.cache.CacheConfig.explicitBufferLimitOnStop
    • com.ibm.ws.cache.CacheConfig.lruToDiskTriggerTime
    • com.ibm.ws.cache.CacheConfig.lruToDiskTriggerPercent
    Fehler vermeiden Fehler vermeiden: Die Funktion zur Auslagerung auf die Platte muss vor der Konfiguration von extremeScale inaktiviert werden. Gehen Sie zum Inaktivieren der Funktion für die Auslagerung auf die Platte wie folgt vor:
    1. Klicken Sie in der Administrationskonsole auf Server>Servertypen>WebSphere-Anwendungsserver> Servername >Container-Services>Dynamischer Cache-Service.
    2. Suchen Sie die Eigenschaft Auslagerung auf Platte aktivieren und wählen Sie sie ab, wenn sie ausgewählt ist.
    Sollten Sie vergessen, die Funktion für die Auslagerung auf die Platte vor der Konfiguration von extremeScale als Cache-Provider zu inaktivieren, verwenden Sie die folgenden wsadmin-Befehle, um die Funktion für die Auslagerung auf die Platte zu inaktivieren:
    1. Setzen Sie den folgenden Befehl ab, um das Konfigurationsobjekt für den Server zu suchen.
      wsadmin>$AdminConfig list DynamicCache
      (cells/optimusprimeCell01/nodes/optimusprimeNode01/servers/server1|serve
      r.xml#Name_des_dynamischen_Caches)
    2. Setzen Sie den folgenden AdminConfig-Befehl "modify" ab, um diskoffload auf "false" zu setzen:
      wsadmin>$AdminConfig modify
      (cells/optimusprimeCell01/nodes/optimusprimeNode01/servers/server1|serve
      r.xml#Name_des_dynamischen_Caches) {{enableDiskOffload false}} 
    3. Setzen Sie den folgenden Befehl ab, um diese Konfigurationsänderung zu speichern:
      wsadmin>$AdminConfig save
    gotcha
  • DRS-Replikation (Push- oder Push-Pull-Unterstützung) wird nicht unterstützt. Die folgenden angepassten Eigenschaften funktionieren nicht:
    • com.ibm.ws.cache.CacheConfig.enableReplicationAcks
    • com.ibm.ws.cache.CacheConfig.enableCacheReplication
    • com.ibm.ws.cache.CacheConfig.replicationDomain
    • com.ibm.ws.cache.CacheConfig.cacheEntryWindow
    • com.ibm.ws.cache.CacheConfig.cachePercentageWindow
    • com.ibm.ws.cache.CacheConfig.cacheInvalidateEntryWindow
    • com.ibm.ws.cache.CacheConfig.cacheInvalidatePercentWindow
    • com.ibm.ws.cache.CacheConfig.filterTimeOutInvalidation
    • com.ibm.ws.cache.CacheConfig.filterLRUInvalidation
  • Das Alias-API-Feature wird für Objektcaches nicht unterstützt.
  • Der Ereignislistener wird unterstützt. Wenn ein Ereignis ausgelöst wird, setzt WebSphere eXtreme Scale "sourceOfInvalidation" immer auf REMOTE.
  • Das Inaktivieren von Abhängigkeits-IDs (com.ibm.ws.cache.CacheConfig.disableDependencyId) und Schablonen (com.ibm.ws.cache.CacheConfig.disableTemplatesSupport) werden nicht unterstützt.
  • PMI wird nicht unterstützt.
  • Die folgenden CacheStatistic-Zähler werden unterstützt:
    • CacheHits
    • CacheLruRemoves
    • CacheMisses
    • CacheRemoves
    • ExplictInvalidationsFromMemory
    • MemoryCacheEntries
    • TimeoutInvalidationsFromMemory
  • NioMap - skipMemoryAndWriteToDisk funktioniert nicht, weil der Plattencache nicht unterstützt wird. Außerdem wird die Methode "DistributedNioMapObject.release()" nicht aufgerufen, um Bytepuffer für die NIO-Pufferverwaltung freizugeben.

Führen Sie die folgenden Aktionen aus, um den dynamischen Cache-Provider für WebSphere eXtreme Scale zu aktivieren.

Vorgehensweise

  1. Installieren Sie den Client von WebSphere eXtreme Scale bzw. die Client- und Serverpakete von WebSphere eXtreme Scale in Ihrem Anwendungsserver für den fernen Server bzw. für die anderen Topologien.
    Fehler vermeiden Fehler vermeiden: Es werden nur die Clientinstallation für WebSphere eXtreme Scale und die ferne Topologie unterstützt.gotcha
  2. Legen Sie den dynamischen Cache-Provider für WebSphere eXtreme Scale als Ihren Cache-Provider fest.

    Jede Cacheinstanz kann einzeln für die Verwendung von WebSphere eXtreme Scale konfiguriert werden. Die dynamische Cache-Engine ist der Standard-Cache-Provider für eine Cacheinstanz. Cacheinstanzen, die mit WebSphere eXtreme Scale konfiguriert wurden, können mit Cacheinstanzen, die mit DRS konfiguriert wurden, koexistieren.

    Führen Sie eine der folgenden Aktionen aus, um den dynamischen Cache-Provider für WebSphere eXtreme Scale als Cache-Provider festzulegen:

    1. Verwenden Sie die Administrationskonsole, um den dynamischen Cache-Provider für WebSphere eXtreme Scale als Cache-Provider festzulegen.
      1. Klicken Sie in der Administrationskonsole auf Server > Servertypen > WebSphere-Anwendungsserver > Servername.
      2. Klicken Sie unter "Container-Services" auf Dynamischer Cache-ServiceServername und wählen Sie dann im Feld Cache-Provider die Option Dynamischer Cache-Provider für WebSphere eXtreme Scale.
      3. Klicken Sie auf OK.
    2. Fügen Sie die Eigenschaft "cacheProviderName" zur Datei "cacheinstances.properties" hinzu, die in einer Unternehmensanwendung enthalten ist, und setzen Sie die Eigenschaft auf com.ibm.ws.objectgrid.dynacache.CacheProviderImpl.

      Beispielsweise würden Sie für "cache.instance.26" die folgende Zeile zur Datei "cacheinstances.properties" hinzufügen:

      cache.instance.26.cacheProviderName = com.ibm.ws.objectgrid.dynacache.CacheProviderImpl
    3. Fügen Sie die folgenden Factory-APIs zum Code für eine Unternehmensanwendung hinzu:
      Properties p = new Properties();
                      ==>p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);
  3. Konfigurieren Sie die Replikationseinstellung für die Cacheinstanz.

    Mit dem dynamischen Cache-Provider für WebSphere eXtreme Scale können Sie lokale und replizierte Cacheinstanzen verwenden.

    Wenn Sie nur lokale Cacheinstanzen verwenden möchten, gehen Sie zum letzten Schritt, und speichern Sie Ihre Konfigurationsänderungen. In einem lokalen Cache befinden sich der Container von WebSphere eXtreme Scale und die JVM an derselben Position, d. h., der Container von WebSphere eXtreme Scale und WebSphere Application Server nutzen denselben JVM-Heapspeicher.

    Wenn Sie replizierte Caches verwenden möchten, müssen Sie eine der folgenden Aktionen ausführen, je nachdem, wie Sie die Cacheinstanz erstellt haben:

    1. Klicken Sie auf der Seite Java Virtual Machine > Angepasste Eigenschaften in der Administrationskonsole wieder auf Neu. Geben Sie im Feld Name den Wert com.ibm.ws.cache.CacheConfig.enableCacheReplication und im Feld Wert den Wert true ein, und klicken Sie dann auf OK.
    2. Fügen Sie die Eigenschaft "enableCacheReplication" zur Datei "cacheinstances.properties" hinzu, die in einer Unternehmensanwendung enthalten ist, und setzen Sie die Eigenschaft auf true.
      Beispielsweise würden Sie für "cache.instance.26" die folgende Zeile zur Datei "cacheinstances.properties" hinzufügen:
      cache.instance.26.enableCacheReplication = true
    3. Fügen Sie die folgenden Factory-APIs zum Code für eine Unternehmensanwendung hinzu:
      Properties p = new Properties();
                      p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      ==>p.put(CacheConfig.ENABLE_CACHE_REPLICATION, "true");
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);
  4. Konfigurieren Sie die Replikationstopologie für WebSphere eXtreme Scale.

    Der einzige erforderliche Parameter für den dynamischen Cache-Provider für WebSphere eXtreme Scale ist der Parameter für die Cachetopologie.

    1. Klicken Sie auf der Seite Java Virtual Machine > Angepasste Eigenschaften in der Administrationskonsole wieder auf Neu. Geben Sie im Feld Name den Wert com.ibm.websphere.xs.dynacache.topology und im Feld Wert einen der folgenden Werte ein:
      • embedded
      • embedded_partitioned
      • remote
      Fehler vermeiden Fehler vermeiden: Wenn Sie embedded_partitioned angeben, müssen Sie auch die angepasste Eigenschaft "com.ibm.websphere.xs.dynacache.num_initial_containers" Ihren JVM-Einstellungen hinzufügen und diese Eigenschaft auf einen ganzzahligen Wert setzen, der kleiner-gleich der Gesamtanzahl der Serverinstanzen ist, die auf diese verteilte Cacheinstanz zugreifen. gotcha
    2. Fügen Sie die Eigenschaft "com.ibm.websphere.xs.dynacache.topology" zur Datei "cacheinstances.properties" hinzu, die in einer Unternehmensanwendung enthalten ist, und setzen Sie die Eigenschaft auf embedded, embedded_partitioned oder remote.
      Beispielsweise würden Sie für "cache.instance.26" die folgende Zeile zur Datei "cacheinstances.properties" hinzufügen:
      cache.instance.26.com.ibm.websphere.xs.dynacache.topology = embedded
      Fehler vermeiden Fehler vermeiden: Wenn Sie embedded_partitioned angeben, müssen Sie auch die angepasste Eigenschaft "com.ibm.websphere.xs.dynacache.num_initial_containers" zur Datei "cacheinstances.properties" hinzufügen und diese Eigenschaft auf einen ganzzahligen Wert setzen, der kleiner-gleich der Gesamtanzahl der Serverinstanzen ist, die auf diese verteilte Cacheinstanz zugreifen. gotcha

      Wenn z. B. ein dynamischer Cache-Service von Grid-Membern gemeinsam genutzt wird, muss die Variable auf die Anzahl der Grid-Member gesetzt werden.

    3. Fügen Sie die folgenden Factory-APIs zum Code für eine Unternehmensanwendung hinzu:
      Properties p = new Properties();
                      p.put(CacheConfig.CACHE_PROVIDER_NAME, CacheConfig.CACHE_PROVIDER_OBJECT_GRID);
                      p.put(CacheConfig.ENABLE_CACHE_REPLICATION, "true");
                      ==>p.put("com.ibm.websphere.xs.dynacache.topology", "embedded");
                      ==>p.put("com.ibm.websphere.xs.dynacache.num_initial_containers", "3");
                      DistributedMap map1 = DistributedMapFactory.getMap("myMap", p);
                      DistributedMap map2 = DistributedObjectCacheFactory.getMap("myMap2", p);

    Weitere Informationen zu den Einstellungen embedded, embedded_partitioned und remote finden Sie im Artikel Dynamischen Cache-Provider für WebSphere eXtreme Scale konfigurieren im Information Center von WebSphere eXtreme Scale Version 7.

  5. Konfigurieren Sie das Katalogservice-Grid für eXtreme Scale.

    Wenn Sie ein Katalogservice-Grid ausführen, müssen Sie die angepasste Eigenschaft "catalog.services.cluster" für die Endpunkte des Katalogservice definieren.

    Informationen zum Starten des Katalogserviceprozesses in einer Umgebung mit WebSphere Application Server finden Sie im Artikel Katalogserviceprozess in einer Umgebung mit WebSphere Application Server starten im Information Center von WebSphere eXtreme Scale Version 7.

    1. Klicken Sie in der Administrationskonsole auf Systemverwaltung > Zelle > Angepasste Eigenschaften > Neu.
    2. Geben Sie im Feld Name den Wert catalog.services.cluster und im Feld Wert den entsprechenden Wert Servername:Hostname:Clientport:Peer-Port:Listener-Port ein.
      • Servername ist der vollständig qualifizierte Name des WebSphere-Prozesses, wie z. B. der Name der Zelle, des Knotens oder des Servers, in der bzw. dem sich der Katalogservice befindet. Beispiel: cellA\node1\nodeagent.
      • Hostname ist der Name des Hosting-Servers.
      • Clientport ist der Clientport.
      • Peer-Port ist der Port, der für die Kommunikation im Peer-Katalog-Grid verwendet wird.
      • Listener-Port ist der Listener-Port. Dieser Port muss mit dem Wert für BOOTSTRAP_ADDRESS, der in der Serverkonfiguration definiert ist, übereinstimmen.
      Es folgt ein Beispiel für einen gültigen Wert:
      cellA\node1\nodeagent:host.local.domain:6600:6601:2809,cellA\node2\
      nodeagent:host.foreign.domain:6600:6601:2809
    3. Klicken Sie auf OK.
  6. Klicken Sie auf Speichern, um alle Konfigurationsänderungen zu speichern.
  7. Starten Sie alle Anwendungsserver, die Sie für die Verwendung von WebSphere eXtreme Scale konfiguriert haben, erneut.
  8. Konfigurieren Sie angepasste Schlüsselobjekte.

    Wenn Sie angepasste Objekte als Schlüssel verwenden möchten, müssen die Objekte die Schnittstelle "Serializable" oder "Externalizable" implementieren. Wenn Sie angepasste Objekte mit den integrierten (embedded) oder den integrierten und partitionierten (embedded partitioned) Topologien verwenden möchten, müssen Sie die Objekte in den Pfad für gemeinsam genutzte Bibliotheken stellen, so wie bei Verwendung des dynamischen Standard-Cache-Providers. Weitere Informationen finden Sie im Artikel zur Verwendung der Schnittstellen "DistributedMap" und "DistributedObjectCache" für den dynamischen Cache.

    Wenn Sie die ferne Topologie verwenden möchten, müssen Sie die angepassten Schlüsselobjekte in den CLASSPATH für eigenständige Container von WebSphere eXtreme Scale stellen. Weitere diesbezügliche Informationen finden Sie in der Beschreibung der Schritte zum Starten eines Containerprozesses im Administratorhandbuch für WebSphere eXtreme Scale Version 7.0. Diese Veröffentlichung finden Sie auf der Bibliotheksseite von WebSphere eXtreme Scale.

  9. Konfigurieren Sie die Container-Server von eXtreme Scale.

    Die zwischengespeicherten Daten werden in Containern von WebSphere eXtreme Scale gespeichert. Diese Container können im Rahmen eines Prozesses von WebSphere Application Server oder extern ausgeführt werden. Der eXtreme-Scale-Provider erstellt automatisch Container in einem Prozess von WebSphere Application Server, wenn Sie eingebettete oder eingebettete und integrierte Topologien für eine Cacheinstanz verwenden möchten. Für diese Topologien ist keine weitere Konfiguration erforderlich.

    Wenn Sie die ferne Topologie verwenden, müssen Sie eigenständige Container von eXtreme Scale starten, bevor Sie die Instanzen von WebSphere Application Server für den Zugriff auf die Cacheinstanz starten. Im Administratorhandbuch von WebSphere eXtreme Scale Version 7.0 sind die Schritte dokumentiert, die Sie zum Starten von eigenständigen Containern ausführen müssen.

    Fehler vermeiden Fehler vermeiden: Vergewissern Sie sich, dass alle Container für einen bestimmten dynamischen Cache auf dieselben Katalogserviceendpunkte verweisen. gotcha

    Die Konfigurationsdateien "dynacache-remoteobjectgrid.xml" und "dynacache-remote-definition.xml" für die eigenständigen Container des dynamischen Cache-Providers von eXtreme Scale befinden sich im Verzeichnis Installationsstammverzeichnis/customLibraries/ ObjectGrid/dynacache/etc, falls WebSphere eXtreme Scale auf der Basis von WebSphere Application Server installiert wurde, oder im Verzeichnis Installationsstammverzeichnis/ObjectGrid/dynacache/etc, falls Sie eine eigenständige Version von WebSphere eXtreme Scale verwenden möchten. Machen Sie Kopien von diesen Dateien, die Sie beim Starten von eigenständigen Containern für den dynamischen Cache-Provider für eXtreme Scale bearbeiten und verwenden können. Der Wert für den Parameter "numIntitialContainers" muss in der Datei "dynacache-remote-deployment.xml" angegeben werden und auf der Anzahl der auszuführenden Containerprozesse basieren.

    Das folgende Beispiel veranschaulicht einen UNIX-basierten Befehlszeileneintrag, der einen eigenständigen Container für den dynamischen Cache-Provider für WebSphere eXtreme Scale aufruft:
    startOgServer.sh container1 -objectGridFile ../dynacache/etc/dynacache-remoteobjectgrid.
    xml -deploymentPolicyFile ../dynacache/etc/dynacache-remotedeployment.
    xml -catalogServiceEndpoints MyServer1.company.com:2809
    Fehler vermeiden Fehler vermeiden: Die Gruppe der Containerprozesse benötigt ausreichend freien Speicherplatz, um alle dynamischen Cacheinstanzen, die für die Verwendung der fernen Topologie konfiguriert wurden, abdecken zu können. Jeder Prozess von WebSphere Application Server, der dieselben oder äquivalente Werte für "catalog.services.cluster" nutzt, müssen auch dieselbe Gruppe von eigenständigen Containern nutzen. Die Anzahl der Container und die Anzahl der Maschinen, auf denen die Container sich befinden, müssen so angegeben werden, dass sie ausreichend sind. Weitere Informationen finden Sie im Artikel zu Kapazitätsplanung und Hochverfügbarkeit in der Produktübersicht über WebSphere eXtreme Scale Version 7.0. Diese Veröffentlichung finden Sie auf der Bibliotheksseite von WebSphere eXtreme Scale.gotcha
  10. Vergewissern Sie sich, dass der dynamische Cache-Provider für WebSphere eXtreme Scale richtig konfiguriert ist.
    Ist der dynamische Cache-Provider für WebSphere eXtreme Scale richtig konfiguriert, enthält das Systemprotokoll eine Reihe von Nachrichten wie die folgenden:
    DYNA1001I: Dynamische WebSphere-Cacheinstanz \"{0}\" wurde mit Cache-Provider
    \"{1}\" erfolgreich initialisiert.
    DYNA1071I: Der Cache-Provider \"{0}\" wird verwendet.
    Wenn die Konfiguration und Initialisierung der Cacheinstanz mit WebSphere eXtreme Scale fehlschlägt, wird die Laufzeit des dynamischen Cache auf den Standard-Cache-Provider zurückgesetzt, und im Systemprotokoll wird eine Nachricht wie die folgende angezeigt:
    DYNA1066E: Cache-Provider \"{0}\" konnte nicht initialisiert werden.
    Der dynamische Cache wird verwendet, um die Cacheinstanz \"{1}\" anstelle des konfigurierten Cache-Providers zu erstellen. 

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdyn_extremescale
Dateiname:tdyn_extremescale.html