Bagikan melalui


Mulai cepat: Meluncurkan aplikasi layanan mikro Java pertama Anda dengan komponen Java terkelola di Azure Container Apps

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:

Diagram hubungan antara komponen Java dan aplikasi layanan mikro.

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:

  1. 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>
    
  2. 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
    
  3. Masuk ke Azure CLI dan pilih langganan aktif Anda dengan menggunakan perintah berikut:

    az login
    
  4. Buat grup sumber daya untuk menata layanan Azure Anda dengan menggunakan perintah berikut:

    az group create \
        --name $RESOURCE_GROUP \
        --location $LOCATION
    
  5. 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:

  1. 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
    
  2. 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 \
    
  3. 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.

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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:

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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:

  1. 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:

    Cuplikan layar halaman beranda aplikasi klinik hewan peliharaan.

  2. 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 peran Owner atau Contributor pada sumber daya. Anda juga dapat mengikuti langkah-langkah untuk membuat definisi peran kustom dan menetapkannya ke akun Anda.

    1. 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
      
    2. Buka URL di browser Anda. Anda akan melihat aplikasi yang menyerupan cuplikan layar berikut:

      Cuplikan layar aplikasi klinik hewan peliharaan Eureka Server.

  3. Lihat dasbor Admin untuk Spring dengan menggunakan langkah-langkah berikut:

    1. 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
      
    2. Buka URL di browser Anda. Anda akan melihat aplikasi yang menyerupan cuplikan layar berikut:

      Cuplikan layar dasbor admin klinik hewan peliharaan memperlihatkan lima layanan aktif, bersama dengan informasi versi untuk empat layanan.

Opsional: Mengonfigurasi komponen Java

Anda dapat mengonfigurasi komponen Java yang dibuat dalam mulai cepat ini melalui portal Microsoft Azure dengan menggunakan bagian Konfigurasi .

Cuplikan layar bagian Konfigurasi, memperlihatkan kotak teks Nama Properti dan Nilai, dan kemampuan untuk menghapus properti.

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