Sdílet prostřednictvím


Použití Azure Redis pro mezipaměť relací pro WebSphere Liberty nebo Open Liberty

Tento článek popisuje, jak používat Azure Redis jako mezipaměť relací HTTP pro WebSphere Liberty nebo Open Liberty.

V této příručce:

  • Vytvořte instanci Azure Managed Redis pro ukládání relací do mezipaměti.
  • Připravte ukázkovou aplikaci, která umožňuje trvalost relací HTTP.
  • Spusťte ukázkovou aplikaci místně.

Tento článek vám pomůže rychle se dostat k nasazení. Než půjdete do produkce, měli byste prozkoumat Tuning Liberty.

Pokud chcete poskytnout zpětnou vazbu nebo úzce spolupracovat na scénářích migrace s technickým týmem, který vyvíjí webSphere v řešeních Azure, vyplňte tento krátký průzkum o migraci WebSphere a uveďte své kontaktní informace. Tým programových manažerů, architektů a inženýrů se s vámi okamžitě spojí a zahájí úzkou spolupráci.

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
  • Připravte místní počítač s nainstalovaným operačním systémem Unix , například Ubuntu, macOS nebo Subsystém Windows pro Linux.
  • Nainstalujte implementaci Java Standard Edition (SE) verze 17 nebo novější – například Microsoft sestavení OpenJDK.
  • Nainstalujte Maven 3.9.8 nebo novější.
  • Ujistěte se, že je Git nainstalovaný.

Vytvoření instance Azure Managed Redis

azure Managed Redis poskytuje úložiště dat v paměti založené na softwaru Redis Enterprise. Pomocí následujících kroků vytvořte instanci Azure Managed Redis a poznamenejte si její informace o připojení. Tyto informace použijete později ke konfiguraci ukázkové aplikace.

  1. Pomocí kroků v Rychlém startu vytvořte instanci Azure Managed Redis: Vytvořte instanci Azure Managed Redis. Pečlivě si poznamenejte následující rozdíly:

    1. V kroku 3 oddílu Vytvoření instance Redis, kde jste na kartě Základy vyberte skladovou položku Cache, která podporuje Azure Managed Redis. Pro tuto příručku vyberte Vyvážený (Pro úlohy pro obecné účely s typickými požadavky na výkon). Další informace najdete v tématu Volba správné úrovně.

    2. V kroku 4 sekce Vytvoření instance Redis, kde jste na kartě Sítě, pro možnost Propojení vyberte Veřejný koncový bod. Tato možnost je nejlepší volbou pro jednoduchost při použití této příručky. V produkčním prostředí byste měli zvážit použití privátního koncového bodu pro lepší zabezpečení.

    3. V kroku 5 oddílu Vytvoření instance Redis, kde jste na kartě Pokročilé, nakonfigurujte následující nastavení:

      • Pro ověřovánípovolte ověřování přístupových klíčů . Tato možnost je nejlepší volbou pro jednoduchost při použití této příručky. Pro zajištění optimálního zabezpečení doporučujeme použít ID Microsoft Entra se spravovanými identitami k autorizaci požadavků na vaši mezipaměť, pokud je to možné. Autorizace pomocí Microsoft Entra ID a spravovaných identit poskytuje vynikající zabezpečení a snadné použití prostřednictvím autorizace sdíleného přístupového klíče. Další informace o používání spravovaných identit s mezipamětí najdete v tématu Použití Id Microsoft Entra pro ověřování mezipaměti.

      • Nastavte zásady clusteringu na Enterprise pro neclusterovanou mezipaměť, která funguje pro tuto příručku, kde se používá konfigurace s jedním uzlem. Další informace viz Clustering v prostředí Enterprise.

  2. Po dokončení nasazení vyberte Přejít k prostředku, pokud jste na stránce Nasazení. V opačném případě přejděte na web Azure Portal, vyhledejte a vyberte instanci Azure Managed Redis.

  3. Na stránce Přehled si poznamenejte hodnotu koncového bodu. Tuto hodnotu použijete v proměnné prostředí REDIS_CACHE_ADDRESS později.

  4. Vyberte Ověřování nastavení>. Vyberte Přístupové klíče a poznamenejte si primární hodnotu . Tuto hodnotu použijete později jako proměnnou prostředí REDIS_CACHE_KEY.

  5. Pomocí následujícího příkazu exportujte proměnné prostředí REDIS_CACHE_ADDRESS a REDIS_CACHE_KEY:

    export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint>
    export REDIS_CACHE_KEY=<your-primary-access-key>
    

Příprava ukázkové aplikace

WebSphere Liberty a Open Liberty poskytují funkci mezipaměti relací, která vám umožňuje ukládat data relace HTTP do externí mezipaměti. V této příručce použijete funkci JCache Session Persistence k ukládání dat relace do instance Azure Managed Redis.

Pomocí následujících příkazů naklonujte vzorový kód pro tuto příručku. Ukázka je v úložišti open-liberty-on-aks na GitHubu. V úložišti je několik ukázek. Tento článek používá 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

Pokud se zobrazí zpráva o stavu detached HEAD, je bezpečné tuto zprávu ignorovat. Jen to znamená, že jste si prohlédli značku.

Aplikace má následující strukturu souborů:

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

Soubor pom.xml je soubor projektu Maven, který obsahuje závislosti a moduly plug-in pro ukázkovou aplikaci.

Soubor pom-redisson.xml slouží ke kopírování závislostí klientské knihovny Redisson do adresáře sdílených prostředků serveru Liberty později.

Adresáře java, resources a webapp obsahují zdrojový kód ukázkové aplikace.

V adresáři liberty/config se soubor server.xml používá ke konfiguraci mezipaměti relací HTTP pro Open Liberty a WebSphere Liberty.

V adresáři redisson se ke konfiguraci připojení k instanci Azure Managed Redis používá soubor redisson-config.yaml.

Adresář dockeru obsahuje dva soubory Dockerfile. souboru Dockerfile se používá k sestavení image s open liberty a Dockerfile-wlp se používá k sestavení image s WebSphere Liberty.

Místní spuštění ukázkové aplikace

Pomocí následujících kroků sestavte a spusťte ukázkovou aplikaci místně. Tyto kroky používají Maven a liberty-maven-plugin. Další informace o liberty-maven-pluginnaleznete v tématu Sestavení webové aplikace pomocíMaven .

  1. Ověřte, že aktuální pracovní adresář je java-app-jcache ve vašem místním klonu.

  2. Spusťte příkaz Maven mvn clean package a zabalte aplikaci.

  3. Spuštěním mvn -Predisson validate zkopírujte konfigurační soubor Redisson do správného cílového umístění. Tento krok také vloží hodnoty proměnných prostředí REDIS_CACHE_ADDRESS a REDIS_CACHE_KEY do souboru redisson-config.yaml, na který odkazuje soubor server.xml.

  4. Spuštěním mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources zkopírujte klientskou knihovnu Redisson a její závislosti do adresáře sdílených prostředků serveru Liberty.

  5. Spusťte příkaz Maven mvn liberty:dev a spusťte aplikaci. Pokud se aplikace úspěšně spustila, měli byste ve výstupu příkazu vidět The defaultServer server is ready to run a smarter planet..

    Pokud je připojení Redis úspěšné, měl by se zobrazit výstup podobný následujícímu.

    [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
    

Testování aplikace

Otevřete webový prohlížeč pro http://localhost:9080 a měla by se zobrazit domovská stránka aplikace.

Snímek obrazovky aplikace java liberty spuštěné úspěšně

Ve formuláři Nová kávy nastavte hodnoty polí Název a Cenya pak vyberte Odeslat. Aplikace vytvoří novou kávu, zachová ji a uloží také relaci HTTP v instanci Azure Managed Redis.

Po několika sekundách uvidíte novou kávu zobrazenou v tabulce Naše káva.

Screenshot of sample application showing new coffee created and persisted in the session of the application.Snímek obrazovky ukázkové aplikace zobrazující novou kávu vytvořenou a uloženou v relaci aplikace

K předvedení, že data relace lze načíst z Redis, pomocí Ctrl+C zastavte aplikaci a restartujte ji příkazem mvn liberty:dev.

Potom aktualizujte domovskou stránku aplikace. V části Nová kávaby se měla zobrazit stejná data relace. Po dokončení testování aplikaci zastavte.

Kontejnerizace aplikace

Volitelně můžete aplikaci zabalit a spustit v kontejneru pomocí následujícího postupu. Ukázková aplikace poskytuje dva soubory Dockerfile pro Open Liberty a WebSphere Liberty. Tato příručka používá soubor Dockerfile pro Open Liberty, ale soubor Dockerfile pro WebSphere Liberty můžete použít pomocí podobných kroků.

  1. Nainstalujte Docker pro váš operační systém. Další informace naleznete v části Získání Dockeru.

  2. K sestavení image Dockeru použijte následující příkaz:

    docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .
    
  3. Ke spuštění kontejneru Dockeru použijte následující příkaz:

    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:v1
    

    Po spuštění kontejneru ho můžete otestovat pomocí kroků podobných těm, které používáte ke spuštění aplikace místně bez Dockeru.

Uvolnění prostředků

Abyste se vyhnuli poplatkům za Azure, měli byste vyčistit nepotřebné prostředky. Pokud už není instance Azure Managed Redis potřebná, vyhledejte její název skupiny prostředků a odstraňte ji z webu Azure Portal.

Další informace najdete v tématu Odstranění skupin prostředků.

Další kroky

Další informace najdete v referencích použitých v tomto průvodci:

Pokud chcete nasadit ukázkovou aplikaci do Azure, projděte si následující články:

Chcete-li prozkoumat možnosti, jak spustit produkty rodiny WebSphere v Azure, podívejte se na Jaké jsou způsoby, jak spustit rodinu produktů WebSphere v Azure?