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.
Dalam tutorial singkat ini, Anda mempelajari cara mengimplementasikan aplikasi di Aplikasi Kontainer Azure yang menggunakan komponen Java untuk menangani manajemen konfigurasi, penemuan layanan, serta pemantauan kesehatan dan metrik. Aplikasi sampel yang digunakan dalam contoh ini adalah Java PetClinic, yang menggunakan pola arsitektur layanan mikro. Diagram berikut menggambarkan arsitektur aplikasi PetClinic di Azure Container Apps:
Aplikasi PetClinic mencakup fitur-fitur berikut:
- Front end adalah aplikasi web Node.js mandiri yang dihosting di aplikasi gateway API.
- Gateway API merutekan permintaan ke aplikasi layanan back-end.
- Aplikasi back-end dibangun dengan Spring Boot.
- Setiap aplikasi back-end menggunakan database HyperSQL sebagai penyimpanan persisten.
- Aplikasi ini menggunakan komponen Java terkelola di Azure Container Apps, termasuk registri layanan, server konfigurasi, dan server admin.
- Server konfigurasi membaca data dari repositori Git.
- Ruang kerja Log Analytics mencatat data server.
Di tutorial ini, Anda akan:
- Membuat server konfigurasi, server Eureka, server admin, dan komponen admin
- Membuat serangkaian aplikasi layanan mikro
- Mengikat komponen server ke aplikasi layanan mikro Anda
- Menyebarkan kumpulan aplikasi
- Tinjau aplikasi yang dikerahkan
Pada akhir artikel ini, Anda menyebarkan satu aplikasi web dan tiga aplikasi back-end yang dikonfigurasi untuk bekerja dengan tiga komponen Java yang berbeda. Anda kemudian dapat mengelola setiap komponen melalui portal Azure.
Prasyarat
- Akun Azure: Jika Anda tidak memiliki akun Azure, buat akun secara gratis. Anda memerlukan izin Kontributor atau Pemilik pada langganan Azure untuk menggunakan panduan memulai cepat ini. Untuk informasi selengkapnya, lihat Menetapkan peran Azure menggunakan portal Microsoft Azure.
- Azure CLI: Instal Azure CLI.
- Ekstensi CLI Azure Container Apps. Gunakan versi 0.3.47 atau yang lebih tinggi.
az extension add --name containerapp --upgrade --allow-preview
Gunakan perintah untuk menginstal versi terbaru.
Penyiapan
Untuk membuat variabel lingkungan, grup sumber daya, dan lingkungan Azure Container Apps, gunakan langkah-langkah berikut:
Variabel lingkungan berisi nilai kustom Anda, jadi ganti nilai dalam
<>
dengan nilai Anda sendiri sebelum menjalankan perintah berikut:export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>
Sekarang Anda membuat lebih banyak variabel lingkungan yang berisi pengaturan untuk aplikasi layanan mikro Anda. Nilai-nilai ini digunakan untuk menentukan nama dan konfigurasi komponen Java dan Azure Container Apps yang Anda gunakan untuk menyebarkan layanan mikro. Buat variabel lingkungan ini dengan menggunakan perintah berikut:
export CONFIG_SERVER_COMPONENT=configserver export ADMIN_SERVER_COMPONENT=admin export EUREKA_SERVER_COMPONENT=eureka export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git export CUSTOMERS_SERVICE=customers-service export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service export API_GATEWAY=api-gateway export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gateway
Masuk ke Azure CLI dan pilih langganan aktif Anda dengan menggunakan perintah berikut:
az login
Buat grup sumber daya untuk menata layanan Azure Anda dengan menggunakan perintah berikut:
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
Buat lingkungan Azure Container Apps Anda, yang menghosting komponen Java dan aplikasi kontainer Anda, menggunakan perintah berikut:
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Membuat komponen Java
Sekarang Anda membuat komponen Java berikut yang mendukung aplikasi Anda:
- Server konfigurasi. Digunakan untuk mengelola pengaturan konfigurasi untuk aplikasi layanan mikro Anda.
- Server Eureka. Digunakan untuk mengelola registri dan penemuan layanan.
- Server admin. Digunakan untuk memantau dan mengelola kesehatan dan metrik aplikasi layanan mikro Anda.
Untuk membuat komponen server ini, gunakan langkah-langkah berikut:
Buat server konfigurasi untuk komponen Java Anda dengan menggunakan perintah berikut:
az containerapp env java-component config-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $CONFIG_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URI
Buat server Eureka untuk komponen Java Anda dengan menggunakan perintah berikut:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Buat server admin untuk komponen Java Anda dengan menggunakan perintah berikut:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Menyebarkan aplikasi layanan mikro
Untuk menyebarkan aplikasi layanan mikro Java ke Azure Container Apps menggunakan gambar kontainer bawaan, gunakan langkah-langkah berikut:
Catatan
Dalam artikel ini, Anda menggunakan serangkaian gambar bawaan untuk aplikasi layanan mikro Spring Petclinic. Anda juga memiliki opsi untuk menyesuaikan kode sampel dan menggunakan gambar Anda sendiri. Untuk informasi selengkapnya, lihat repositori GitHub azure-container-apps-java-samples.
Buat aplikasi data pelanggan dengan menggunakan perintah berikut:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGE
Buat aplikasi dokter hewan dengan menggunakan perintah berikut:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGE
Buat aplikasi kunjungan dengan menggunakan perintah berikut:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGE
Buat aplikasi gateway API dengan menggunakan perintah berikut:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $API_GATEWAY_IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
Mengikat aplikasi kontainer ke komponen Java
Selanjutnya, ikat komponen Java ke aplikasi kontainer Anda. Pengikatan yang Anda buat di bagian ini menyediakan fungsionalitas berikut:
- Masukkan data konfigurasi ke setiap aplikasi dari server konfigurasi terkelola saat startup.
- Daftarkan aplikasi dengan server Eureka terkelola untuk penemuan layanan.
- Aktifkan server admin untuk memantau aplikasi.
containerapp update
Gunakan perintah untuk membuat pengikatan untuk setiap aplikasi dengan menggunakan langkah-langkah berikut:
Tambahkan pengikatan ke aplikasi data pelanggan dengan menggunakan perintah berikut:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
Tambahkan pengikatan ke layanan dokter hewan dengan menggunakan perintah berikut:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
Tambahkan pengikatan pada layanan kunjungan dengan menjalankan perintah berikut:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
Tambahkan pengikatan ke gateway API. Gunakan perintah berikut untuk mengembalikan URL aplikasi front-end, lalu buka lokasi ini di browser Anda:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \ --query properties.configuration.ingress.fqdn
Memverifikasi status aplikasi
Gunakan langkah-langkah berikut untuk memverifikasi status aplikasi:
Dengan menggunakan URL yang dikembalikan dari perintah di gateway API
az containerapp update
, buka aplikasi front-end di browser Anda. Aplikasi harus menyerupai cuplikan layar berikut:Lihat dasbor server Eureka dengan menggunakan langkah-langkah berikut:
Penting
Untuk melihat dasbor Eureka Server dan dasbor Admin untuk Spring, Anda harus memiliki setidaknya peran yang
Microsoft.App/managedEnvironments/write
ditetapkan ke akun Anda pada sumber daya lingkungan terkelola. Anda dapat menetapkan secara eksplisit peranOwner
atauContributor
pada sumber daya. Anda juga dapat mengikuti langkah-langkah untuk membuat definisi peran kustom dan menetapkannya ke akun Anda.Jalankan perintah berikut untuk mengembalikan URL dasbor:
az containerapp env java-component eureka-server-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdn
Buka URL di browser Anda. Anda akan melihat aplikasi yang menyerupan cuplikan layar berikut:
Lihat dasbor Admin untuk Spring dengan menggunakan langkah-langkah berikut:
Gunakan perintah berikut untuk mengembalikan URL dasbor:
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdn
Buka URL di browser Anda. Anda akan melihat aplikasi yang menyerupan cuplikan layar berikut:
Opsional: Mengonfigurasi komponen Java
Anda dapat mengonfigurasi komponen Java yang dibuat dalam mulai cepat ini melalui portal Microsoft Azure dengan menggunakan bagian Konfigurasi .
Untuk informasi selengkapnya tentang mengonfigurasi tiga komponen Java yang Anda buat dalam mulai cepat ini, lihat tautan berikut:
Membersihkan sumber daya
Sumber daya yang dibuat dalam mulai cepat ini berpengaruh pada tagihan Azure Anda. Jika Anda tidak akan menggunakan layanan ini dalam jangka panjang, gunakan perintah berikut untuk menghapus semua yang dibuat dalam mulai cepat ini:
az group delete --resource-group $RESOURCE_GROUP