Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, WebSphere Liberty veya Open Liberty için HTTP oturum önbelleği olarak Azure Redis'in nasıl kullanılacağı açıklanmaktadır.
Bu kılavuzda şunları yapacaksınız:
- Oturum önbelleği olarak bir Azure Yönetilen Redis örneği oluşturun.
- HTTP oturumlarının kalıcılığını sağlayan örnek bir uygulama hazırlayın.
- Örnek uygulamayı yerel olarak çalıştırın.
Bu makale, dağıtıma hızlı bir şekilde başlamanıza yardımcı olmak için tasarlanmıştır. Üretime geçmeden önce Tuning Liberty'yi keşfetmeniz gerekir.
Azure'da WebSphere çözümleri geliştiren mühendislik ekibiyle geri bildirim sağlamak veya geçiş senaryolarınız üzerinde yakından çalışmak istiyorsanız, WebSphere geçişiyle ilgili bu kısa anketi doldurun ve iletişim bilgilerinizi ekleyin. Program yöneticileri, mimarlar ve mühendislerden oluşan ekip, yakın işbirliği başlatmak için sizinle hemen iletişime geçecektir.
Önkoşullar
- Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Ubuntu, macOS veya Linux için Windows Alt Sistemi gibi Unix benzeri işletim sistemi yüklü yerel bir makine hazırlayın.
- Java Standard Edition (SE) uygulaması sürüm 17 veya üzerini yükleyin; örneğin, Microsoft'un OpenJDK derlemesi .
- Maven 3.9.8 veya üzerini yükleyin.
- Git'in yüklü olduğundan emin olun.
Azure Yönetilen Redis örneği oluşturma
Azure Yönetilen Redis, Redis Enterprise yazılımını temel alan bir bellek içi veri deposu sağlar. Azure Yönetilen Redis örneği oluşturmak için aşağıdaki adımları kullanın ve bağlantı bilgilerini not edin. Bu bilgileri daha sonra örnek uygulamayı yapılandırmak için kullanırsınız.
Hızlı Başlangıç: Azure Yönetilen Redis Örneği Oluşturmaadımlarını izleyerek Azure Yönetilen Redis örneği oluşturun. Aşağıdaki farklara dikkatle dikkat edin:
Redis örneği oluşturmabölümünün 3. adımında, Temel bilgiler sekmesinde olduğunuzda, Azure Yönetilen Redis'i destekleyen bir Cache SKU seçin. Bu kılavuz için Dengeli (tipik performans gereksinimlerine sahip genel amaçlı iş yükleri için)öğesini seçin. Daha fazla bilgi için bkz. Doğru katmanı seçme.
Redis örneği oluşturmabölümünün 4. adımında, Ağ sekmesinde olduğunuzda, Bağlantı seçeneği için Genel (Public) Uç Noktaseçin. Bu seçenek, bu kılavuzu kullanırken kolaylık sağlamak için en iyi seçenektir. Üretim için daha iyi güvenlik için Özel Uç Nokta kullanmayı düşünmelisiniz.
Redis örneği oluşturmabölümünün 5. adımında, Gelişmiş sekmesine geldiğinizde aşağıdaki ayarları yapılandırın:
Kimlik Doğrulamasıiçin Erişim Anahtarları Kimlik Doğrulamasıetkinleştirin. Bu seçenek, bu kılavuzu kullanırken kolaylık sağlamak için en iyi seçenektir. En iyi güvenlik için, mümkünse istekleri önbelleğinizde yetkilendirmek için yönetilen kimliklerle Microsoft Entra Id kullanmanızı öneririz. Microsoft Entra Id ve yönetilen kimlikleri kullanarak yetkilendirme, paylaşılan erişim anahtarı yetkilendirmesi üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Önbelleğinizle yönetilen kimlikleri kullanma hakkında daha fazla bilgi için bkz. Önbellek kimlik doğrulaması için Microsoft Entra Id kullanma.
Kümeleme ilkesi'i, tek düğüm yapılandırmasının kullanıldığı bu kılavuzda çalışan kümelenmemiş bir önbellek için Kurumsal olarak ayarlayın. Daha fazla bilgi için Kurumsal üzerindeKümeleme bölümüne bakın.
Dağıtım tamamlandıktan sonra Dağıtım sayfasındaysanız Kaynak git'i seçin. Aksi takdirde Azure portalına gidin, Azure Yönetilen Redis örneğinizi bulun ve seçin.
Genel Bakış sayfasında Uç Nokta değerini not edin. Bu değeri daha sonra
REDIS_CACHE_ADDRESS
ortam değişkeninde kullanırsınız.Ayarlar>Kimlik Doğrulama'yı seçin. Erişim anahtarları'nı seçin ve Birincil değerini not edin. Bu değeri daha sonra
REDIS_CACHE_KEY
ortam değişkeni olarak kullanacaksınız.REDIS_CACHE_ADDRESS
veREDIS_CACHE_KEY
ortam değişkenlerini dışarı aktarmak için aşağıdaki komutu kullanın:export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint> export REDIS_CACHE_KEY=<your-primary-access-key>
Örnek uygulamayı hazırlama
WebSphere Liberty ve Open Liberty, HTTP oturum verilerini bir dış önbellekte depolamanızı sağlayan bir oturum önbelleği özelliği sağlar. Bu kılavuzda, oturum verilerini Azure Yönetilen Redis örneğinde depolamak için JCache Oturum Kalıcılığı özelliğini kullanacaksınız.
Bu kılavuzun örnek kodunu kopyalamak için aşağıdaki komutları kullanın. Örnek, GitHub'daki open-liberty-on-aks deposundadır. Depoda birkaç örnek vardır. Bu makalede java-app-jcache kullanılır.
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
git checkout 20250228
cd java-app-jcache
detached HEAD
durumda olduğunu belirten bir ileti görürseniz, bu iletiyi görmezden gelebilirsiniz. Sadece bir etiketi incelediğiniz anlamına gelir.
Uygulama aşağıdaki dosya yapısına sahiptir:
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
pom.xml dosyası, örnek uygulamanın bağımlılıklarını ve eklentilerini içeren Maven proje dosyasıdır.
pom-redisson.xml dosyası, Redisson istemci kitaplığının bağımlılıklarını daha sonra Liberty sunucusunun paylaşılan kaynaklar dizinine kopyalamak için kullanılır.
Java, kaynaklar ve web uygulaması dizinleri örnek uygulamanın kaynak kodunu içerir.
liberty/config dizininde, server.xml dosyası Open Liberty ve WebSphere Liberty için HTTP oturum önbelleğini yapılandırmak için kullanılır.
redisson dizininde, Azure Yönetilen Redis örneğine bağlantıyı yapılandırmak için redisson-config.yaml dosyası kullanılır.
docker dizini iki Dockerfile içerir. Dockerfile, Open Liberty ile görüntü oluşturmak için kullanılır ve Dockerfile-wlp WebSphere Liberty ile görüntü oluşturmak için kullanılır.
Örnek uygulamayı yerel olarak çalıştırma
Örnek uygulamanızı yerel olarak derlemek ve çalıştırmak için aşağıdaki adımları kullanın. Bu adımlarda Maven ve liberty-maven-plugin
kullanılır.
liberty-maven-plugin
hakkında daha fazla bilgi için bkz. Maven ile web uygulaması oluşturma.
Yerel kopyanızda geçerli çalışma dizininin "java-app-jcache" olduğunu doğrulayın.
Maven komutunu
mvn clean package
çalıştırın ve uygulamayı paketleyin.Redisson yapılandırma dosyasını doğru hedef konuma kopyalamak için
mvn -Predisson validate
çalıştırın. Bu adım ayrıca server.xml dosyası tarafından başvurulan redisson-config.yaml dosyasınaREDIS_CACHE_ADDRESS
veREDIS_CACHE_KEY
ortam değişkenlerinin değerlerini ekler.Redisson istemci kitaplığını ve bağımlılıklarını Liberty sunucusunun paylaşılan kaynaklar dizinine kopyalamak için
mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources
çalıştırın.mvn liberty:dev
Maven komutunu çalıştırın ve uygulamayı başlatın. Uygulama başarıyla başlatılırsa, komut çıkışındaThe defaultServer server is ready to run a smarter planet.
görmeniz gerekir.Redis bağlantısı başarılı olursa aşağıdakine benzer bir çıkış görmeniz gerekir.
[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
Uygulamayı test etme
http://localhost:9080 için bir web tarayıcısı açın; uygulamanın giriş sayfasını görmeniz gerekir.
Yeni kahve formunda Ad ve Fiyatalanlarının değerlerini ayarlayın ve ardından Gönder'i seçin. Uygulama yeni bir kahve oluşturur, kahveyi kalıcı hale gelir ve ayrıca HTTP oturumunu Azure Yönetilen Redis örneğinde depolar.
Birkaç saniye sonra, tabloda yeni kahve kahvelerimizolarak görüntülenir.
Uygulama oturumunda oluşturulan ve kalıcı hale gelen yeni kahveyi gösteren örnek uygulamanın ekran görüntüsü.
Oturum verilerinin Redis'ten alınabileceğini göstermek için Ctrl+C kullanarak uygulamayı durdurun ve mvn liberty:dev
komutuyla yeniden başlatın.
Ardından uygulama giriş sayfasını yenileyin. Yeni kahve bölümünde aynı oturum verilerinin görüntülendiğini görmeniz gerekir. Testi tamamladığınızda uygulamayı durdurun.
Uygulamayı kapsayıcılı hale getirme
İsteğe bağlı olarak, aşağıdaki adımları kullanarak uygulamayı bir kapsayıcıda paketleyebilir ve çalıştırabilirsiniz. Örnek uygulama Open Liberty ve WebSphere Liberty için iki Dockerfile sağlar. Bu kılavuzda Open Liberty için Dockerfile kullanılır, ancak benzer adımları izleyerek WebSphere Liberty için Dockerfile'ı kullanabilirsiniz.
İşletim sisteminiz için Docker'ı yükleyin. Daha fazla bilgi için bkz. Docker'ı Edinme.
Docker görüntüsünü oluşturmak için aşağıdaki komutu kullanın:
docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .
Docker kapsayıcısını başlatmak için aşağıdaki komutu kullanın:
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
Kapsayıcı başlatıldıktan sonra, uygulamayı Docker olmadan yerel olarak çalıştırmak için kullandığınız adımlara benzer adımları kullanarak test edebilirsiniz.
Kaynakları temizleme
Azure ücretlerinden kaçınmak için gereksiz kaynakları temizlemeniz gerekir. Azure Yönetilen Redis örneği artık gerekli olmadığında kaynak grubu adını bulun ve Azure portalından silin.
Daha fazla bilgi için bkz. kaynak gruplarını silme.
Sonraki adımlar
Bu kılavuzda kullanılan başvurulardan daha fazla bilgi edinebilirsiniz:
- Liberty oturum kalıcılığını JCache ile yapılandırma
- Redisson için JCache desteği
- Open Liberty Server Yapılandırması
Örnek uygulamayı Azure'a dağıtmak istiyorsanız aşağıdaki makalelere başvurun:
- Azure Kubernetes Service (AKS) kümesinde Open Liberty veya WebSphere Liberty ile java uygulaması dağıtma
- Azure Red Hat OpenShift'te WebSphere Liberty ve Open Liberty'yi dağıtma
- Azure Container Apps'te Open Liberty ile Java uygulaması dağıtma
WebSphere ürünlerini Azure'da çalıştırma seçeneklerini keşfetmek için Azure'da WebSphere ürün ailesini çalıştırmaya yönelik çözümler nelerdir? başlıklı makaleye bakın.