Einführung: Dynamischer Cache
Dieser Artikel enthält Schlüsselkonzepte für den dynamischen Cache-Service, der die Leistung verbessert, indem er die Ausgabe von Servlets, Befehlen, Web-Services und JSP-Dateien (JavaServer Pages) zwischenspeichert.
Die dynamische Cache-Engine ist der Standard-Cache-Provider für die APIs und das Framework des dynamischen Cache. Ab Version 6.1.0.27 ermöglicht der dynamische Cache dem Produkt WebSphere eXtreme Scale, das die strategische Ausrichtung für das Caching von WebSphere-Produkten darstellt, als Kern-Caching-Engine zu agieren.
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. Wenn Sie gegenwärtig den Standard-Cache-Provider verwenden, können Sie in der Administrationskonsole oder mit dem Befehl "wsadmin" den Standardprovider des dynamischen Cache durch den dynamischen Cache-Provider für WebSphere eXtreme Scale ersetzen. Sie müssen keine Änderungen am Programmiermodell des dynamischen Cache vornehmen. Sehen Sie sich die Übersicht über den dynamischen WebSphere eXtreme Scale-Cache-Provider in der WebSphere eXtreme Scale-Produktdokumentation an.
WebSphere eXtreme Scale kann als speicherinterner Verarbeitungsbereich der Datenbank betrieben werden. Sie können diesen Verarbeitungsbereich verwenden, um das Inline-Caching für ein Datenbank-Back-End bereitzustellen, oder Sie können ihn als Nebencache einsetzen. Beim Inline-Caching wird WebSphere eXtreme Scale als primäres Medium für die Interaktion mit den Daten verwendet. Wird WebSphere eXtreme Scale als Nebencache verwendet, wird das Back-End in Verbindung mit WebSphere eXtreme Scale verwendet.
Funktionale Vorteile bei der Verwendung des dynamischen Cache-Providers von WebSphere eXtreme Scale
- Er unterstützt die speicherübergreifende Replikation für Sitzungen.
- Er kann den gesamten Caching-Bedarf Ihrer Anwendungen hinsichtlich der generischen Daten und Sitzungen handhaben.
- Er versetzt Ihre Anwendungen in die Lage, Systemspeicher zu nutzen, und zwar ohne Einsatz von Speicherbereichsnetzen oder Speicherlösungen für den Plattencache eines dynamischen Cache.
- Stellt einen skalierbaren replizierten Cache mit einer konfigurierbaren Anzahl von Replikaten bereit, was zur Folge hat, dass der Datenreplikationsservice, der vom Standard-Cache-Provider verwendet wird, nicht mehr benötigt wird. Die Verwendung des Datenreplikationsservice verursacht manchmal Leistungsprobleme.
- Kann zur Laufzeit mit weiteren Containern von WebSphere eXtreme Scale konfiguriert werden und somit die Cachekapazität erhöhen und Leistungsprobleme verhindern, die manchmal bei der Verwendung des Datenreplikationsservice auftreten. WebSphere eXtreme Scale verteilt die Partitionen automatisch um, wenn neue Container zum Grid hinzugefügt werden.
- Stellt eine höhere Servicequalität und Steuerungsqualität für das Caching bereit als der Standard-Cache-Provider.
- Verwendet dieselben Laufzeitüberwachungs- und Verwaltungstools wie der klassische dynamische Cache. Diese Tools, wie z. B. der Cachemonitor und die Laufzeit-MBean des dynamischen Cache, funktionieren auf dieselbe Weise, wenn der dynamische Cache in WebSphere eXtreme Scale ausgeführt wird, wie wenn sie mit dem klassischen dynamischen Cache verwendet werden.
Funktionale Unterschiede zwischen dem Standard-Cache-Provider und dem dynamischen Cache-Provider für WebSphere eXtreme Scale
- Der dynamische Cache-Provider für WebSphere eXtreme Scale umfasst keine Unterstützung für Plattencaches, weil alle Cachedaten im Speicher gehalten werden. Daher werden die angepassten Eigenschaften des Platten-Caching nicht unterstützt.
- Der dynamische Cache-Provider für WebSphere eXtreme Scale unterstützt die folgenden Funktionen nicht:
- DistributedNioMap - skipMemoryAndWriteToDisk
- Alias für DistributedMap DistributedNioMap
- Inaktivierung der Abhängigkeits-IDs oder Schablonen
- Der dynamische Cache-Provider für WebSphere eXtreme Scale unterstützt nicht die Replikation durch den Datenreplikationsservice.
Daher werden die angepassten Eigenschaften des Datenreplikationsservice nicht unterstützt.
Wenn Sie den dynamischen Cache-Provider für WebSphere eXtreme Scale verwenden, wird die Replikationskonfiguration durch die Implementierungs- und Definitionsdateien von WebSphere eXtreme Scale gesteuert. Weitere Informationen zur Replikation finden Sie im Artikel Dynamischen Cache-Provider für WebSphere eXtreme Scale konfigurieren im Information Center von WebSphere eXtreme Scale Version 7.
- Die Methode "DistributedNioMapObject.release()" wird nicht aufgerufen, um Bytepuffer für das NIO-Puffermanagement freizugeben.
- Der dynamische Cache-Provider für WebSphere eXtreme Scale hat begrenzte PMI-Unterstützung. Bestimmte PMI- und MBean-Zähler sind nicht mehr gültig. Weitere Informationen finden Sie im Artikel Dynamischen Cache-Provider für WebSphere eXtreme Scale konfigurieren im Information Center von WebSphere eXtreme Scale Version 7.
- Wenn ein Ereignis ausgelöst wird, setzt ObjectGrid "sourceOfInvalidation" immer auf REMOTE.
- Sie können die API "DynaCache" verwenden, um Ereignislistener unabhängig vom verwendeten Cache-Provider zu registrieren. Wenn Sie jedoch den dynamischen Cache-Provider für WebSphere eXtreme Scale verwenden, funktionieren die Ereignislistener wie erwartet für lokale speicherinterne Caches. Wenn benachbarte Container verwendet werden, werden Ereignisse auf der Maschine ausgelöst, auf der die Anforderung, die das Ereignis ausgelöst hat, bearbeitet wird, und nicht auf der Maschine, auf der die Anforderung abgesetzt wurde. Wenn z. B. eine Invalidierungsanforderung auf Server A abgesetzt wird und der Cacheeintrag, der invalidiert wird, tatsächlich auf Server B gespeichert wird, wird das Ereignis auf Server B ausgelöst. Mit dem dynamischen Standard-Cache-Provider wird das Ereignis auf Server A ausgelöst. Bei Verwendung von Standalone-Containern werden keine Ereignisse über die Ereignislistener-API "DynaCache" ausgelöst.
Schlüsselkonzepte für den dynamischen Cache-Service
Dieser Artikel enthält Schlüsselkonzepte für den dynamischen Cache-Service, der die Leistung verbessert, indem er die Ausgabe von Servlets, Befehlen, Web-Services und JSP-Dateien (JavaServer Pages) zwischenspeichert.
- Cacheinstanzen
- Eine Anwendung verwendet eine Cacheinstanz, um Datenobjekte im dynamischen Cache zu speichern, aus diesem abzurufen und gemeinsam mit anderen Anwendungen zu verwenden.
- Mit dem dynamischer Cache-Service die Leistung verbessern
- Das Caching von Servlet-, Befehls- JSP-Ausgaben (JavaServer Pages) verbessert die Leistungsfähigkeit von Anwendungen. WebSphere Application Server fasst verschiedene Caching-Aktivitäten einschließlich Servlets, Web-Services und WebSphere-Befehlen zu einem Service zusammen, der als dynamischer Cache bezeichnet wird. Die genannten Caching-Aktivitäten wirken zusammen, um den Anwendungsdurchsatz zu steigern, und benutzen viele der im dynamischen Cache-Service eines Anwendungsservers definierten Konfigurationseinstellungen gemeinsam.
- Dynamischen Cache für die Verwendung des dynamischen Cache-Providers von WebSphere eXtreme Scale konfigurieren
- Wenn Sie den dynamischen Cache-Service 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.
- Servlet-Caching konfigurieren
- Nachdem ein Servlet aufgerufen und die zwischenzuspeichernde Ausgabe generiert wurde, wird ein Cacheeintrag erstellt, der nicht nur die Ausgabe enthält, sondern auch Nebeneffekte des Servlets. Diese Nebeneffekte können darin bestehen, dass andere Servlets oder JSP-Dateien (JavaServer Pages) aufgerufen werden. Möglicherweise sind Metadaten zu einem Eintrag einschließlich der Angaben zu Zeitlimit und Priorität enthalten.
- Caching von Portletfragmenten konfigurieren
- Nachdem ein Portlet aufgerufen wurde, das die Ausgabe, die in den Cache gestellt werden soll, generiert, wird ein Cacheeintrag erstellt, der die Ausgabe und die Nebeneffekte des Portlets enthält. Diese Nebeneffekte können darin bestehen, dass andere Portlets aufgerufen werden. Möglicherweise sind Metadaten zu einem Eintrag einschließlich der Angaben zu Zeitlimit und Priorität vorhanden.
- Bereinigungsrichtlinien mit Verwendung des Garbage-Collector für den Plattencache
- Es ist Aufgabe des Garbage-Collector für den Plattencache, auf der Basis einer angegebenen Bereinigungsrichtlinie Objekte aus dem Plattencache zu entfernen.
- Caching für JAX-RPC-Web-Service-Clients konfigurieren
- Der Web-Service-Client-Cache ist ein Teil des dynamischen Cache-Service, der verwendet wird, um den Durchsatz von Web-Service-Clients dadurch zu verbessern, dass er Antworten von fernen Web-Services in den Cache stellt.
- Cachemonitor
- Der Cachemonitor ist eine installierbare Webanwendung, die Ihnen eine Ansicht des aktuellen Status des dynamischen Cache in Echtzeit liefert. Mit dieser Anwendung können Sie überprüfen, ob der dynamische Cache wie erwartet arbeitet. Die Daten im Cache können nur mit dem Cachemonitor geändert werden. Die Anwendung besitzt eine grafische Benutzerschnittstelle, mit der Sie die Daten manuell ändern können.
- Listener für Invalidierung
- Der Listener für Invalidierung verwendet Java-Ereignisse, um Anwendungen zu melden, wenn Inhalt aus dem Cache entfernt wird.