Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano, jak używać usługi Azure Redis jako pamięci podręcznej sesji HTTP dla środowiska WebSphere Liberty lub Open Liberty.
W tym przewodniku wykonasz następujące instrukcje:
- Utwórz wystąpienie usługi Azure Managed Redis jako pamięć podręczną sesji.
- Przygotuj przykładową aplikację, która umożliwia trwałość sesji HTTP.
- Uruchom przykładową aplikację lokalnie.
Ten artykuł ma pomóc w szybkim rozpoczęciu wdrażania. Przed przejściem do środowiska produkcyjnego należy zapoznać się z tematem Tuning Liberty.
Jeśli chcesz przekazać opinię lub ściśle pracować nad scenariuszami migracji z zespołem inżynierów opracowującym rozwiązanie WebSphere na platformie Azure, wypełnij tę krótką ankietę dotyczącą migracji webSphere i dołącz informacje kontaktowe. Zespół menedżerów programów, architektów i inżynierów natychmiast skontaktuje się z Tobą w celu zainicjowania ścisłej współpracy.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Przygotuj maszynę lokalną z zainstalowanym systemem operacyjnym przypominającym system Unix — na przykład Ubuntu, macOS lub Podsystem Windows dla systemu Linux.
- Zainstaluj implementację Java Standard Edition (SE) w wersji 17 lub nowszej — na przykład wersję Microsoft OpenJDK.
- Zainstaluj program Maven w wersji 3.9.8 lub nowszej.
- Upewnij się, że usługa Git jest zainstalowana.
Tworzenie wystąpienia usługi Redis zarządzanej platformy Azure
Usługa Azure Managed Redis udostępnia magazyn danych w pamięci oparty na oprogramowaniu Redis Enterprise . Wykonaj poniższe kroki, aby utworzyć wystąpienie usługi Azure Managed Redis, a następnie zanotuj informacje o połączeniu. Te informacje będą później używane do konfigurowania przykładowej aplikacji.
Utwórz wystąpienie usługi Redis zarządzanej platformy Azure, wykonując kroki opisane w przewodniku Szybki start: tworzenie wystąpienia usługi Azure Managed Redis. Uważnie zanotuj następujące różnice:
W kroku 3 sekcji Tworzenie wystąpienia Redis, na karcie Podstawy, wybierz SKU pamięci podręcznej, które obsługuje Azure Managed Redis. W tym przewodniku wybierz pozycję Zrównoważony (w przypadku obciążeń ogólnego przeznaczenia z typowymi wymaganiami dotyczącymi wydajności).. Aby uzyskać więcej informacji, zobacz Wybieranie odpowiedniej warstwy.
W kroku 4 sekcji Tworzenie instancji Redis, w karcie Sieć, dla opcji Łączność wybierz Publiczny punkt końcowy. Ta opcja jest najlepszym wyborem dla uproszczenia podczas korzystania z tego przewodnika. W przypadku środowiska produkcyjnego należy rozważyć użycie prywatnego punktu końcowego w celu uzyskania lepszych zabezpieczeń.
W kroku 5 sekcji Utwórz wystąpienie Redis, wchodząc na kartę Zaawansowane, skonfiguruj następujące ustawienia:
W obszarze Uwierzytelnianie włącz opcję Uwierzytelnianie kluczy dostępu. Ta opcja jest najlepszym wyborem dla uproszczenia podczas korzystania z tego przewodnika. Aby uzyskać optymalne zabezpieczenia, zalecamy użycie identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi w celu autoryzowania żądań względem pamięci podręcznej, jeśli to możliwe. Autoryzacja za pomocą Microsoft Entra ID i tożsamości zarządzanych zapewnia lepsze zabezpieczenia i łatwość użytkowania w porównaniu z autoryzacją za pomocą współdzielonego klucza dostępu. Aby uzyskać więcej informacji na temat używania tożsamości zarządzanych z pamięcią podręczną, zobacz Użyj Microsoft Entra ID do uwierzytelniania pamięci podręcznej.
Ustaw politykę klastrowania na Enterprise dla nieklastrowanej pamięci podręcznej, co działa w tym przewodniku z konfiguracją pojedynczego węzła. Aby uzyskać więcej informacji, zobacz Clustering on Enterprise (Klastrowanie w przedsiębiorstwie).
Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu , jeśli jesteś na stronie Wdrożenie . W przeciwnym razie przejdź do portalu Azure, znajdź swoją instancję Azure Managed Redis i ją wybierz.
Na stronie Przegląd zanotuj wartość Punkt końcowy . Ta wartość zostanie użyta w zmiennej środowiskowej
REDIS_CACHE_ADDRESSpóźniej.Wybierz Ustawienia>Uwierzytelnianie. Wybierz pozycję Klucze dostępu i zanotuj wartość Podstawowa . Ta wartość jest używana jako zmienna środowiskowa
REDIS_CACHE_KEYpóźniej.Użyj następującego polecenia, aby wyeksportować zmienne
REDIS_CACHE_ADDRESSśrodowiskowe iREDIS_CACHE_KEY:export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint> export REDIS_CACHE_KEY=<your-primary-access-key>
Przygotowywanie przykładowej aplikacji
WebSphere Liberty i Open Liberty udostępniają funkcję pamięci podręcznej sesji, która umożliwia przechowywanie danych sesji HTTP w zewnętrznej pamięci podręcznej. W tym przewodniku użyjesz funkcji Trwałości sesji usługi JCache do przechowywania danych sesji w instancji usługi Azure Managed Redis.
Użyj następujących poleceń, aby sklonować przykładowy kod dla tego przewodnika. Przykład znajduje się w repozytorium open-liberty-on-aks w witrynie GitHub. W repozytorium znajduje się kilka przykładów. W tym artykule jest używana usługa java-app-jcache.
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
git checkout 20250228
cd java-app-jcache
Jeśli zostanie wyświetlony komunikat o stanie detached HEAD, ten komunikat jest bezpieczny do zignorowania. To po prostu oznacza, że obejrzałeś tag.
Aplikacja ma następującą strukturę plików:
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
Plik pom.xml to plik projektu Maven zawierający zależności i wtyczki dla przykładowej aplikacji.
Plik pom-redisson.xml służy do kopiowania zależności biblioteki klienta Redisson do katalogu zasobów udostępnionych serwera Liberty później.
Katalogi java, resources i webapp zawierają kod źródłowy przykładowej aplikacji.
W katalogu liberty/config plik server.xml służy do konfigurowania pamięci podręcznej sesji HTTP dla biblioteki Open Liberty i WebSphere Liberty.
W katalogu redisson plik redisson-config.yaml służy do konfigurowania połączenia z instancją Azure Managed Redis.
Katalog docker zawiera dwa pliki Dockerfile. Plik Dockerfile służy do budowania obrazu z Open Liberty, a Dockerfile-wlp do budowania obrazu z WebSphere Liberty.
Uruchamianie przykładowej aplikacji lokalnie
Wykonaj poniższe kroki, aby skompilować i uruchomić przykładową aplikację lokalnie. W tych krokach są używane narzędzia Maven i liberty-maven-plugin. Aby uzyskać więcej informacji na temat programu liberty-maven-plugin, zobacz Tworzenie aplikacji internetowej za pomocą narzędzia Maven.
Sprawdź, czy bieżący katalog roboczy to java-app-jcache w klonie lokalnym.
Uruchom polecenie
mvn clean packageMaven i spakuj aplikację.Uruchom polecenie
mvn -Predisson validate, aby skopiować plik konfiguracji Redisson do właściwej lokalizacji docelowej. Ten krok wstawia również wartości zmiennychREDIS_CACHE_ADDRESSśrodowiskowych iREDIS_CACHE_KEYdo pliku redisson-config.yaml , do którego odwołuje się plik server.xml .Uruchom polecenie
mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources, aby skopiować bibliotekę klienta Redisson i jej zależności do katalogu zasobów udostępnionych serwera Liberty.Uruchom polecenie
mvn liberty:devMaven i uruchom aplikację. Jeśli aplikacja została pomyślnie uruchomiona, powinieneś zobaczyćThe defaultServer server is ready to run a smarter planet.w danych wyjściowych polecenia.Jeśli połączenie z usługą Redis zakończy się pomyślnie, powinny zostać wyświetlone dane wyjściowe podobne do poniższych.
[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
Testowanie aplikacji
Otwórz przeglądarkę internetową, przejdź na http://localhost:9080 i powinieneś zobaczyć stronę główną aplikacji.
W formularzu Nowa kawa ustaw wartości pól Nazwa i Cena, a następnie wybierz pozycję Prześlij. Aplikacja tworzy nową kawę, utrwala ją, a także przechowuje sesję HTTP w wystąpieniu usługi Azure Managed Redis.
Po kilku sekundach zobaczysz nową kawę wyświetlaną w tabeli Nasze kawy.
Zrzut ekranu przedstawiający przykładową aplikację przedstawiającą nową kawę utworzoną i utrwalone w sesji aplikacji.
Aby zademonstrować, że dane sesji można pobrać z usługi Redis, użyj Ctrl+C , aby zatrzymać aplikację i ponownie uruchomić ją za mvn liberty:dev pomocą polecenia .
Następnie odśwież stronę główną aplikacji. Powinny zostać wyświetlone te same dane sesji w sekcji Nowa kawa. Zatrzymaj aplikację po zakończeniu testowania.
Konteneryzowanie aplikacji
Opcjonalnie możesz spakować i uruchomić aplikację w kontenerze, wykonując następujące kroki. Przykładowa aplikacja udostępnia dwa pliki Dockerfile dla oprogramowania Open Liberty i WebSphere Liberty. W tym przewodniku jest używany plik Dockerfile for Open Liberty, ale możesz użyć pliku Dockerfile for WebSphere Liberty, wykonując podobne kroki.
Zainstaluj platformę Docker dla systemu operacyjnego. Aby uzyskać więcej informacji, zobacz Get Docker.
Użyj następującego polecenia, aby zbudować obraz Docker:
docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .Użyj następującego polecenia, aby uruchomić kontener platformy Docker:
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:v1Po uruchomieniu kontenera można go przetestować, wykonując kroki podobne do tych, których używasz do lokalnego uruchamiania aplikacji bez platformy Docker.
Czyszczenie zasobów
Aby uniknąć opłat za platformę Azure, należy wyczyścić niepotrzebne zasoby. Gdy wystąpienie usługi Azure Managed Redis nie jest już potrzebne, znajdź nazwę grupy zasobów i usuń ją z portalu Azure.
Aby uzyskać więcej informacji, zobacz Usuwanie grup zasobów.
Następne kroki
Więcej informacji można dowiedzieć się z odwołań używanych w tym przewodniku:
- Konfigurowanie trwałości sesji Liberty przy użyciu usługi JCache
- Obsługa usługi JCache w usłudze Redisson
- Konfiguracja serwera Open Liberty Server
Jeśli chcesz wdrożyć przykładową aplikację na platformie Azure, zapoznaj się z następującymi artykułami:
- Wdrażanie aplikacji Java przy użyciu biblioteki Open Liberty lub WebSphere Liberty w klastrze usługi Azure Kubernetes Service (AKS)
- Wdrażanie oprogramowania WebSphere Liberty i Open Liberty w usłudze Azure Red Hat OpenShift
- Wdrażanie aplikacji Java za pomocą biblioteki Open Liberty w usłudze Azure Container Apps
Aby zapoznać się z opcjami uruchamiania produktów WebSphere na platformie Azure, zobacz Co to są rozwiązania do uruchamiania rodziny produktów WebSphere na platformie Azure?