Azure Command Launcher untuk Java (pratinjau publik)

Azure Command Launcher untuk Java (jaz) adalah utilitas ringan yang menyederhanakan cara pengembang Java menjalankan aplikasi mereka di Azure. Dengan menerapkan opsi Java Virtual Machine (JVM) secara cerdas yang disesuaikan untuk lingkungan cloud, alat ini mengurangi overhead konfigurasi dan meningkatkan pemanfaatan sumber daya di luar kotak, dengan potensi performa yang lebih baik.

Alat ini sangat ideal untuk pengembang yang:

  • Ingin default JVM yang lebih baik tanpa menyelam jauh ke dalam panduan penyetelan.
  • Mengembangkan dan menyebarkan layanan mikro asli cloud dengan kerangka kerja seperti Spring Boot, Quarkus, atau Micronaut.
  • Lebih suka alur kerja berbasis kontainer seperti Kubernetes dan OpenShift.
  • Sebarkan beban kerja Java pada Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift, atau Azure Virtual Machines.

Fitur utama

  • ๐Ÿ›  Secara otomatis mengatur parameter JVM untuk penyebaran cloud-native.
  • ๐Ÿš€ Pengalaman penggunaan yang langsung siap pakai. Masukkan saja ke Dockerfile Anda atau jalankan skrip, ganti perintah java dengan jaz.
  • โ˜๏ธ Dioptimalkan untuk lingkungan Azure.
  • ๐Ÿ”ง Dapat disesuaikan melalui variabel lingkungan. Ada beberapa cara untuk meluncurkan perubahan konfigurasi dengan aman.

Lingkungan yang didukung

Peluncur Perintah Azure untuk Java dapat digunakan di mana pun peluncur Java tersedia di lingkungan berbasis Linux. Ini telah divalidasi dan diuji di seluruh platform Azure dan CI/CD berikut:

  • Azure Kubernetes Service (AKS)
  • Azure Container Apps
  • Azure App Service
  • Azure Functions
  • Azure Red Hat OpenShift (ARO)
  • Azure Virtual Machines
  • Azure DevOps
  • GitHub Codespaces
  • GitHub Actions

Penting

Peluncur Perintah Azure untuk Java membaca informasi cgroup v1 dan v2 untuk menentukan sumber daya yang tersedia dan menyetel JVM yang sesuai. Ini memeriksa file dalam /sys/fs/cgroup untuk menemukan batas memori dan batasan sumber daya lainnya.

Jika sistem file cgroup tidak dipasang pada /sys/fs/cgroup, Peluncur Perintah Azure untuk Java mungkin tidak mendeteksi batas kontainerisasi dengan benar, yang menyebabkan performa buruk atau bahkan kesalahan kehabisan memori. Kami tidak melihat ada skenario di lingkungan yang didukung di mana ini menjadi perhatian; meskipun demikian, mungkin saja pembatasan ini terlihat di lingkungan yang disesuaikan.

Untuk informasi selengkapnya, lihat "Mengapa titik pemasangan cgroup saya penting?".

Pratinjau umum

Peluncur Perintah Azure untuk Java sekarang tersedia di pratinjau publik! Baca pengumuman pratinjau publik untuk pengenalan alat ini dan manfaatnya.

Cara kerjanya

Peluncur Perintah Azure untuk Java berada di antara perintah kontainer atau startup komputer virtual Anda dan JVM. Saat Anda meluncurkan alat ini, alat tersebut:

  1. Mendeteksi lingkungan cloud (misalnya, batas kontainer dan memori yang tersedia).
  2. Menganalisis jenis beban kerja dan memilih bendera penyetelan JVM yang paling sesuai, seperti:
    • Ukuran timbunan.
    • Pemilihan dan penyetelan pengumpul sampah.
    • Pengaturan pengelogan dan diagnostik sesuai kebutuhan.
  3. Meluncurkan proses Java, meneruskannya bendera penyetelan dan argumen yang disediakan pengguna.
  4. Secara tak terlihat menyampaikan sinyal stdout, stderr, stdin, dan OS ke dan dari proses Java.
  5. Memantau proses Java dan menyampaikan kode keluarnya saat dihentikan.

Contoh penggunaan

Peluncur Perintah Azure untuk Java adalah pengganti drop-in untuk perintah java, tidak memerlukan perubahan kode. Cukup ganti java dengan jaz dalam skrip peluncuran Andaโ€”misalnya, ganti java -jar foo.jar dengan jaz -jar foo.jar.

Alih-alih menyetel opsi JVM Anda secara manual:

JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar

Gunakan jaz:

jaz -jar myapp.jar

Secara default, jaz menerapkan penyetelannya ketika tidak mendeteksi bendera penyetelan yang disediakan pengguna. Jika argumen baris perintah Java atau variabel lingkungan opsi Java sudah menyertakan bendera penyetelan yang disediakan pengguna (seperti -X* atau -XX*), jaz menyimpan pengaturan tersebut dan tidak menambahkannya sendiri. Untuk memaksa jaz untuk menerapkan penyetelannya (tanpa menghapus bendera penyetelan yang disediakan pengguna), atur JAZ_IGNORE_USER_TUNING=1.

Aplikasi Anda mungkin secara otomatis mendapat manfaat dari:

  • Default yang teruji untuk beban kerja natif cloud dan container.
  • Mengurangi pemborosan memori di cloud.
  • Performa startup dan pemanasan yang lebih baik.

Instalasi

Untuk petunjuk tentang cara menginstal Azure Command Launcher untuk Java di Linux, atau cara menginstal gambar kontainer, lihat halaman Penginstalan.

Peta strategi

  • โš™๏ธ Profil konfigurasi JVM
  • ๐Ÿ“ฆ Dukungan AppCDS
  • ๐Ÿ”„ Penyetelan berkelanjutan
  • ๐Ÿ“Š Telemetri
  • ๐Ÿ“ฆ Dukungan Leyden

Changelog

Anda dapat menemukan Azure Command Launcher untuk catatan rilis Java dan changelog di halaman Azure Command Launcher untuk rilis Java.

Telemetri

Azure Command Launcher untuk Java mengumpulkan data penggunaan dan mengirimkannya ke Microsoft untuk membantu meningkatkan produk dan layanan kami. Untuk mempelajari lebih lanjut, baca pernyataan privasi kami.