Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menggunakan Azure Redis sebagai cache sesi HTTP untuk WebSphere Liberty atau Open Liberty.
Dalam panduan ini Anda akan:
- Buat instans Azure Managed Redis sebagai cache sesi.
- Siapkan aplikasi sampel yang memungkinkan persistensi sesi HTTP.
- Jalankan aplikasi sampel secara lokal.
Artikel ini dimaksudkan untuk membantu Anda mengimplementasikan dengan cepat. Sebelum masuk tahap produksi, Anda harus menjelajahi Tuning Liberty.
Jika Anda tertarik untuk memberikan umpan balik atau berkolaborasi dengan tim teknik yang mengembangkan solusi WebSphere di Azure pada skenario migrasi Anda, silakan isi survei singkat tentang migrasi WebSphere ini dan sertakan informasi kontak Anda. Tim manajer program, arsitek, dan insinyur akan segera menghubungi Anda untuk memulai kolaborasi yang erat.
Prasyarat
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
- Siapkan komputer lokal dengan sistem operasi seperti Unix yang terinstal - misalnya, Ubuntu, macOS, atau Subsistem Windows untuk Linux.
- Instal implementasi Java Standard Edition (SE) versi 17 atau yang lebih baru - misalnya, Microsoft build OpenJDK.
- Instal Maven 3.9.8 atau yang lebih tinggi.
- Pastikan Git diinstal.
Membuat instans terkelola Azure Redis
Azure Managed Redis menyediakan penyimpanan data dalam memori berdasarkan perangkat lunak Redis Enterprise. Gunakan langkah-langkah berikut untuk membuat instans Azure Managed Redis, lalu catat informasi koneksinya. Anda menggunakan informasi ini nanti untuk mengonfigurasi aplikasi sampel.
Buat Instans Azure Managed Redis dengan mengikuti langkah-langkah di Panduan Memulai Cepat : Membuat Instans Azure Managed Redis. Perhatikan dengan cermat perbedaan berikut:
Pada langkah 3 dari bagian Buat instans Redis, di tab Dasar di mana Anda berada, pilih Cache SKU yang mendukung Azure Managed Redis. Untuk panduan ini, pilih Balanced (Untuk beban kerja tujuan umum dengan persyaratan performa umum). Untuk informasi selengkapnya, lihat Memilih tingkat yang sesuai.
Pada langkah 4 bagian Buat instans Redis, di mana Anda berada di tab Jaringan, untuk opsi Konektivitas, pilih Titik Akhir Publik. Opsi ini adalah pilihan terbaik untuk kesederhanaan saat menggunakan panduan ini. Untuk produksi, Anda harus mempertimbangkan untuk menggunakan Endpoint Privat untuk keamanan yang lebih baik.
Pada langkah 5 bagian Buat instans Redis, tempat Anda berada di tab Tingkat Lanjut, konfigurasikan pengaturan berikut:
Untuk Autentikasi , aktifkan Autentikasi Kunci Akses . Opsi ini adalah pilihan terbaik untuk kesederhanaan saat menggunakan panduan ini. Untuk keamanan yang optimal, sebaiknya gunakan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan terhadap cache Anda, jika memungkinkan. Otorisasi dengan menggunakan ID Microsoft Entra dan identitas terkelola memberikan keamanan yang unggul dan kemudahan penggunaan melalui otorisasi kunci akses bersama. Untuk informasi selengkapnya tentang menggunakan identitas terkelola dengan cache Anda, lihat Menggunakan ID Microsoft Entra untuk autentikasi cache.
Atur kebijakan pengklusteran ke Enterprise untuk cache non-kluster, yang sesuai untuk panduan ini di mana konfigurasi simpul tunggal digunakan. Untuk informasi selengkapnya, lihat pengklusteran di Enterprise.
Setelah penyebaran selesai, pilih Pergi ke sumber daya jika Anda berada di halaman Penyebaran. Jika tidak, navigasikan ke portal Microsoft Azure, temukan, dan pilih instans Azure Managed Redis Anda.
Pada halaman Gambaran Umum, catat nilai Titik Akhir. Anda menggunakan nilai ini dalam variabel lingkungan
REDIS_CACHE_ADDRESSnanti.Pilih Pengaturan>Autentikasi. Pilih Kunci akses dan catat nilai Utama. Anda menggunakan nilai ini sebagai variabel lingkungan
REDIS_CACHE_KEYnanti.Gunakan perintah berikut untuk mengekspor variabel lingkungan
REDIS_CACHE_ADDRESSdanREDIS_CACHE_KEY:export REDIS_CACHE_ADDRESS=rediss://<your-redis-cache-endpoint> export REDIS_CACHE_KEY=<your-primary-access-key>
Menyiapkan aplikasi sampel
WebSphere Liberty dan Open Liberty menyediakan fitur cache sesi yang memungkinkan Anda menyimpan data sesi HTTP di cache eksternal. Dalam panduan ini, Anda menggunakan fitur JCache Session Persistence untuk menyimpan data sesi di instans Azure Managed Redis.
Gunakan perintah berikut untuk mengkloning kode sampel untuk panduan ini. Sampel berada di repository open-liberty-on-aks di GitHub. Terdapat beberapa sampel di repositori. Artikel ini menggunakan 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
Jika Anda melihat pesan tentang berada dalam status detached HEAD, pesan ini aman untuk diabaikan. Ini saja berarti Anda memeriksa tag.
Aplikasi ini memiliki struktur file berikut:
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
File pom.xml adalah file proyek Maven yang berisi dependensi dan plugin untuk aplikasi sampel.
File pom-redisson.xml digunakan untuk menyalin dependensi untuk pustaka klien Redisson ke direktori sumber daya bersama server Liberty nanti.
Direktori java, sumber daya, dan webapp berisi kode sumber aplikasi sampel.
Dalam direktori liberty/config, file server.xml digunakan untuk mengonfigurasi cache sesi HTTP untuk Open Liberty dan WebSphere Liberty.
Dalam direktori redisson, file redisson-config.yaml digunakan untuk mengonfigurasi koneksi ke instans Azure Managed Redis.
Direktori docker berisi dua Dockerfiles. Dockerfile digunakan untuk membangun gambar dengan Open Liberty dan Dockerfile-wlp digunakan untuk membangun gambar dengan WebSphere Liberty.
Menjalankan aplikasi sampel secara lokal
Gunakan langkah-langkah berikut untuk membangun dan menjalankan aplikasi sampel Anda secara lokal. Langkah-langkah ini menggunakan Maven dan liberty-maven-plugin. Untuk informasi selengkapnya tentang liberty-maven-plugin, lihat Membangun aplikasi web dengan Maven.
Verifikasi bahwa direktori kerja saat ini adalah java-app-jcache di klon lokal Anda.
Jalankan perintah Maven
mvn clean packagedan kemas aplikasi.Jalankan
mvn -Predisson validateuntuk menyalin file konfigurasi Redisson ke lokasi target yang benar. Langkah ini juga menyisipkan nilai variabel lingkunganREDIS_CACHE_ADDRESSdanREDIS_CACHE_KEYke dalam file redisson-config.yaml, yang dirujuk oleh file server.xml.Jalankan
mvn dependency:copy-dependencies -f pom-redisson.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resourcesuntuk menyalin pustaka klien Redisson dan dependensinya ke direktori sumber daya bersama server Liberty.Jalankan perintah Maven
mvn liberty:devdan mulai aplikasi. Jika aplikasi berhasil dimulai, Anda akan melihatThe defaultServer server is ready to run a smarter planet.dalam output perintah.Anda akan melihat output yang mirip dengan yang berikut ini jika koneksi Redis berhasil.
[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
Uji aplikasi
Buka browser web untuk http://localhost:9080 dan Anda akan melihat beranda aplikasi.
Dalam formulir kopi baru, atur nilai untuk bidang Nama dan Harga, lalu pilih Kirim. Aplikasi ini membuat kopi baru, mempertahankannya, dan juga menyimpan sesi HTTP di instans Azure Managed Redis.
Setelah beberapa detik, Anda dapat melihat kopi baru di meja yang bertanda Kopi kami.
Cuplikan layar dari aplikasi sampel yang menunjukkan kopi baru yang dibuat dan disimpan dalam sesi aplikasi.
Untuk menunjukkan bahwa data sesi dapat diambil dari Redis, gunakan Ctrl+C untuk menghentikan aplikasi dan memulai ulang dengan perintah mvn liberty:dev.
Kemudian, refresh beranda aplikasi. Anda akan melihat data sesi yang sama ditampilkan di bagian Kopi baru. Hentikan aplikasi saat Anda selesai menguji.
Menggunakan container untuk aplikasi
Secara opsional, Anda dapat mengemas dan menjalankan aplikasi dalam kontainer dengan menggunakan langkah-langkah berikut. Aplikasi sampel menyediakan dua Dockerfiles untuk Open Liberty dan WebSphere Liberty. Panduan ini menggunakan Dockerfile untuk Open Liberty, tetapi Anda dapat menggunakan Dockerfile untuk WebSphere Liberty dengan mengikuti langkah-langkah serupa.
Instal Docker untuk OS Anda. Untuk informasi selengkapnya, lihat Mendapatkan Docker.
Gunakan perintah berikut untuk membangun gambar Docker:
docker build -t javaee-cafe-jcache:v1 -f src/main/docker/Dockerfile .Gunakan perintah berikut untuk memulai kontainer 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:v1Setelah kontainer dimulai, Anda dapat mengujinya dengan menggunakan langkah-langkah yang mirip dengan yang Anda gunakan untuk menjalankan aplikasi secara lokal tanpa Docker.
Membersihkan sumber daya
Untuk menghindari biaya Azure, Anda harus membersihkan sumber daya yang tidak diperlukan. Saat instans Azure Managed Redis tidak lagi diperlukan, temukan nama grup sumber dayanya dan hapus dari portal Microsoft Azure.
Untuk informasi selengkapnya, lihat Menghapus grup sumber daya.
Langkah berikutnya
Anda dapat mempelajari selengkapnya dari referensi yang digunakan dalam panduan ini:
- Mengonfigurasi persistensi sesi Liberty dengan JCache
- Dukungan JCache dari Redisson
- Konfigurasi Server Open Liberty
Jika Anda ingin menyebarkan aplikasi sampel ke Azure, referensikan artikel berikut:
- Menyebarkan aplikasi Java dengan Open Liberty atau WebSphere Liberty pada kluster Azure Kubernetes Service (AKS)
- Menyebarkan WebSphere Liberty dan Open Liberty di Azure Red Hat OpenShift
- Menyebarkan aplikasi Java dengan Open Liberty di Azure Container Apps
Untuk menjelajahi opsi menjalankan produk WebSphere di Azure, lihat Apa solusi untuk menjalankan produk keluarga WebSphere di Azure?