Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie Azure Redis als HTTP-Sitzungscache für WebSphere Liberty oder Open Liberty verwenden.
In diesem Leitfaden werden Sie:
- Erstellen Sie eine Azure Managed Redis-Instanz als Sitzungscache.
- Bereiten Sie eine Beispielanwendung vor, die die Persistenz von HTTP-Sitzungen ermöglicht.
- Führen Sie die Beispielanwendung lokal aus.
Dieser Artikel soll Ihnen helfen, schnell zur Bereitstellung zu gelangen. Bevor Sie in die Produktion gehen, sollten Sie Tuning Liberty erkunden.
Wenn Sie an Feedback oder daran interessiert sind, eng mit dem Entwicklungsteam, das die WebSphere-Lösungen für Azure entwickelt, an Ihren Migrationsszenarien zu arbeiten, füllen Sie diese kurze Umfrage zur WebSphere-Migration aus und geben Sie Ihre Kontaktinformationen an. Das Team aus Programmmanagern, Architekten und Technikern wird sich umgehend mit Ihnen in Verbindung setzen, um eine enge Zusammenarbeit zu initiieren.
Voraussetzungen
- Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
- Bereiten Sie einen lokalen Computer mit einem installierten UNIX-ähnlichen Betriebssystem (z. B. Ubuntu, macOS, Windows-Subsystem für Linux) vor.
- Installieren Sie eine Java Standard Edition (SE)-Implementierung, Version 17 oder höher , z. B. Microsoft Build von OpenJDK.
- Installieren Sie Maven 3.9.8 oder höher.
- Sicherstellen, dass Git installiert ist
Erstellen einer Azure Managed Redis-Instanz
Azure Managed Redis bietet einen speicherinternen Datenspeicher basierend auf der Redis Enterprise-Software . Führen Sie die folgenden Schritte aus, um eine Azure Managed Redis-Instanz zu erstellen und dann die Verbindungsinformationen zu notieren. Sie verwenden diese Informationen später, um die Beispielanwendung zu konfigurieren.
Erstellen Sie eine Azure Managed Redis-Instanz, indem Sie die Schritte in der Schnellstartanleitung ausführen: Erstellen einer Azure Managed Redis-Instanz. Beachten Sie die folgenden Unterschiede:
Wählen Sie in Schritt 3 des Abschnitts"Redis-Instanz erstellen" auf der Registerkarte "Grundlagen" eine Cache-SKU aus, die Azure Managed Redis unterstützt. Wählen Sie für diesen Leitfaden " Ausgeglichen" (Für allgemeine Workloads mit typischen Leistungsanforderungen) aus. Weitere Informationen finden Sie unter Die richtige Ebene wählen.
Wählen Sie in Schritt 4 des Abschnitts "Redis-Instanz erstellen", auf der Sie sich auf der Registerkarte "Netzwerk " befinden, für die Option "Konnektivität " die Option "Öffentlicher Endpunkt" aus. Diese Option ist die beste Wahl für die Einfachheit bei der Verwendung dieses Handbuchs. Für die Produktion sollten Sie die Verwendung von privatem Endpunkt für eine bessere Sicherheit in Betracht ziehen.
Konfigurieren Sie in Schritt 5 des Abschnitts "Redis-Instanz erstellen", in der Sie sich auf der Registerkarte "Erweitert " befinden, die folgenden Einstellungen:
Aktivieren Sie für die Authentifizierungdie Zugriffstastenauthentifizierung. Diese Option ist die beste Wahl für die Einfachheit bei der Verwendung dieses Handbuchs. Für eine optimale Sicherheit empfehlen wir, Microsoft Entra-ID mit verwalteten Identitäten zu verwenden, um Anforderungen für Ihren Cache zu autorisieren, falls möglich. Die Autorisierung mithilfe von Microsoft Entra ID und verwalteten Identitäten bietet eine überlegene Sicherheit und Benutzerfreundlichkeit gegenüber der Autorisierung gemeinsam genutzter Zugriffsschlüssel. Weitere Informationen zur Verwendung verwalteter Identitäten mit Ihrem Cache finden Sie unter Microsoft Entra ID zur Cache-Authentifizierung verwenden.
Legen Sie die Clustering-Richtlinie auf Enterprise für einen nicht gruppierten Cache fest, der für dieses Handbuch funktioniert, in dem die Konfiguration einzelner Knoten verwendet wird. Weitere Informationen finden Sie unter Clustering on Enterprise.
Wählen Sie nach Abschluss der Bereitstellung die Option "Zur Ressource wechseln " aus, wenn Sie sich auf der Seite "Bereitstellung" befinden. Navigieren Sie andernfalls zum Azure-Portal, suchen Und wählen Sie Ihre Azure Managed Redis-Instanz aus.
Notieren Sie sich auf der Seite "Übersicht" den Endpunktwert . Sie verwenden diesen Wert später in der Umgebungsvariable
REDIS_CACHE_ADDRESS.Wählen Sie Einstellungen>Authentifizierung aus. Wählen Sie Zugriffstasten aus und notieren Sie sich den Wert von Primär. Sie verwenden diesen Wert später als Umgebungsvariable
REDIS_CACHE_KEY.Verwenden Sie den folgenden Befehl, um die Umgebungsvariablen
REDIS_CACHE_ADDRESSzu exportieren undREDIS_CACHE_KEY:export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint> export REDIS_CACHE_KEY=<your-primary-access-key>
Vorbereiten der Beispielanwendung
WebSphere Liberty und Open Liberty bieten ein Sitzungscachefeature, mit dem Sie HTTP-Sitzungsdaten in einem externen Cache speichern können. In diesem Leitfaden verwenden Sie das Feature „JCache-Sitzungspersistenz“, um die Sitzungsdaten in der Instanz Azure Managed Redis zu speichern.
Verwenden Sie die folgenden Befehle, um den Beispielcode für diesen Leitfaden zu klonen. Das Beispiel befindet sich im open-liberty-on-aks-Repository in GitHub. Es gibt ein paar Beispiele im Repository. In diesem Artikel wird java-app-jcache verwendet.
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
git checkout 20250228
cd java-app-jcache
Wenn eine Meldung darüber angezeigt wird, dass der Zustand detached HEAD lautet, kann diese Nachricht problemlos ignoriert werden. Sie bedeutet nur, dass Sie ein Tag ausgecheckt haben.
Die Anwendung hat die folgende Dateistruktur:
java-app-jcache/
├── pom.xml
├── pom-redisson.xml
└── src
└── main
├── docker
│ ├── Dockerfile
│ └── Dockerfile-wlp
├── java
├── liberty
│ └── config
│ └── server.xml
├── redisson
│ └── redisson-config.yaml
├── resources
└── webapp
Die pom.xml Datei ist die Maven-Projektdatei, die die Abhängigkeiten und Plug-Ins für die Beispielanwendung enthält.
Die pom-redisson.xml Datei wird verwendet, um Abhängigkeiten für die Redisson-Clientbibliothek später in das Verzeichnis der freigegebenen Ressourcen des Liberty-Servers zu kopieren.
Die Verzeichnisse java, resources und webapp enthalten den Quellcode der Beispielanwendung.
Im Verzeichnis "liberty/config " wird die server.xml Datei verwendet, um den HTTP-Sitzungscache für Open Liberty und WebSphere Liberty zu konfigurieren.
Im Redisson-Verzeichnis wird die Datei "redisson-config.yaml " verwendet, um die Verbindung mit der Azure Managed Redis-Instanz zu konfigurieren.
Das Docker-Verzeichnis enthält zwei Dockerfiles. Dockerfile wird verwendet, um ein Image mit Open Liberty zu erstellen, und Dockerfile-wlp dient zum Erstellen eines Images mit WebSphere Liberty.
Lokales Ausführen der Beispielanwendung
Führen Sie die folgenden Schritte aus, um Ihre Beispielanwendung lokal zu erstellen und auszuführen. Diese Schritte verwenden Maven und liberty-maven-plugin. Weitere Informationen zum liberty-maven-pluginThema finden Sie unter Erstellen einer Webanwendung mit Maven.
Stellen Sie sicher, dass das aktuelle Arbeitsverzeichnis in Ihrem lokalen Klon java-app-jcache/target ist.
Führen Sie den Maven-Befehl
mvn clean packageaus, und packen Sie die Anwendung.Führen Sie den Befehl aus
mvn -Predisson validate, um die Redisson-Konfigurationsdatei an den richtigen Zielspeicherort zu kopieren. In diesem Schritt werden auch die Werte der UmgebungsvariablenREDIS_CACHE_ADDRESSundREDIS_CACHE_KEYin die Datei "redisson-config.yaml " eingefügt, auf die von der dateiserver.xml verwiesen wird.Führen Sie den Befehl aus
mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources, um die Redisson-Clientbibliothek und deren Abhängigkeiten in das Verzeichnis der freigegebenen Ressourcen des Liberty-Servers zu kopieren.Führen Sie den Maven-Befehl
mvn liberty:devaus, und starten Sie die Anwendung. Wenn die Anwendung erfolgreich gestartet wurde, sollteThe defaultServer server is ready to run a smarter planet.in der Befehlsausgabe angezeigt werden.Die Ausgabe sollte ähnlich wie im folgenden Beispiel angezeigt werden, wenn die Redis-Verbindung erfolgreich ist.
[INFO] [err] [Default Executor-thread-3] INFO org.redisson.Version - Redisson 3.23.4 [INFO] [err] [redisson-netty-2-7] INFO org.redisson.connection.pool.MasterPubSubConnectionPool - 1 connections initialized for redacted.<region>.redis.azure.net/<ip_address>:10000 [INFO] [err] [redisson-netty-2-20] INFO org.redisson.connection.pool.MasterConnectionPool - 24 connections initialized for redacted.<region>.redis.azure.net/<ip_address>:10000
Testen der Anwendung
Öffnen Sie einen Webbrowser und gehen Sie zu http://localhost:9080, dann sollte die Startseite der Anwendung angezeigt werden.
Legen Sie im Formular "Neuer Kaffee " Werte für die Felder "Name " und " Preis" fest, und wählen Sie dann "Absenden" aus. Die Anwendung erstellt einen neuen Kaffee, speichert ihn und speichert auch die HTTP-Sitzung in der Azure Managed Redis-Instanz.
Nach ein paar Sekunden sehen Sie den neuen Kaffee in der Tabelle "Unsere Kaffees".
Um zu veranschaulichen, dass die Sitzungsdaten aus Redis abgerufen werden können, verwenden Sie STRG+C , um die Anwendung zu beenden und mit dem mvn liberty:dev Befehl neu zu starten.
Aktualisieren Sie dann die Startseite der Anwendung. Im Abschnitt "Neuer Kaffee" sollten die gleichen Sitzungsdaten angezeigt werden. Beenden Sie die Anwendung, wenn Sie mit dem Testen fertig sind.
Packen der Anwendung in Container
Optional können Sie die Anwendung in einem Container packen und ausführen, indem Sie die folgenden Schritte ausführen. Die Beispielanwendung bietet zwei Dockerfiles für Open Liberty und WebSphere Liberty. In diesem Leitfaden wird die Dockerfile für Open Liberty verwendet, Sie können jedoch die Dockerfile für WebSphere Liberty verwenden, indem Sie ähnliche Schritte ausführen.
Installieren Sie Docker für Ihr Betriebssystem. Weitere Informationen finden Sie unter "Docker abrufen".
Verwenden Sie den folgenden Befehl, um das Docker-Image zu erstellen:
docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .Verwenden Sie den folgenden Befehl, um den Docker-Container zu starten:
docker run -it --rm \ -p 9080:9080 \ -e REDIS_CACHE_ADDRESS=${REDIS_CACHE_ADDRESS} \ -e REDIS_CACHE_KEY=${REDIS_CACHE_KEY} \ --mount type=bind,source=$(pwd)/target/liberty/wlp/usr/servers/defaultServer/redisson-config.yaml,target=/config/redisson-config.yaml \ javaee-cafe-jcache:v1Nachdem der Container gestartet wurde, können Sie ihn mithilfe von Schritten testen, die mit den Schritten vergleichbar sind, die Sie zum lokalen Ausführen der Anwendung ohne Docker verwenden.
Bereinigen von Ressourcen
Zum Vermeiden von Azure-Gebühren sollten Sie nicht benötigte Ressourcen bereinigen. Wenn die Azure Managed Redis-Instanz nicht mehr benötigt wird, suchen Sie den Namen der Ressourcengruppe, und löschen Sie sie aus dem Azure-Portal.
Weitere Informationen finden Sie unter "Löschen von Ressourcengruppen".
Nächste Schritte
Weitere Informationen finden Sie über die in diesem Handbuch verwendeten Verweise:
- Konfigurieren von Liberty-Sitzungspersistenz mit JCache
- JCache-Unterstützung von Redisson
- Open Liberty-Serverkonfiguration
Wenn Sie die Beispielanwendung in Azure bereitstellen möchten, verweisen Sie auf die folgenden Artikel:
- Bereitstellen einer Java-Anwendung mit Open Liberty oder WebSphere Liberty auf einem Azure Kubernetes Service (AKS)-Cluster
- Bereitstellen von WebSphere Liberty und Open Liberty auf Azure Red Hat OpenShift
- Bereitstellen einer Java-Anwendung mit Open Liberty in Azure-Container-Apps
Informationen zu Optionen zum Ausführen von WebSphere-Produkten auf Azure finden Sie unter Welche Lösungen gibt es zum Ausführen der WebSphere-Produktfamilie auf Azure?