Java için Azure Komut Başlatıcısı (genel önizleme)

Java için Azure Komut Başlatıcısı (jaz), Java geliştiricilerin uygulamalarını Azure üzerinde çalıştırma şeklini basitleştiren basit bir yardımcı programdır. Java Sanal Makinesi (JVM) seçeneklerini bulut ortamları için uyarlanmış bir şekilde akıllıca uygulayarak, araç yapılandırma ek yükünü azaltır ve doğrudan kaynak kullanımını iyileştirir, daha iyi performans olanağı sunar.

Bu araç, şu işlemleri yapan geliştiriciler için idealdir:

  • Ayarlama kılavuzlarına derinlemesine girmeden daha iyi JVM varsayılanları istiyorum.
  • Spring Boot, Quarkus veya Micronaut gibi çerçevelerle bulutta yerel mikro hizmetler geliştirin ve dağıtın.
  • Kubernetes ve OpenShift gibi kapsayıcı tabanlı iş akışlarını tercih edin.
  • Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift veya Azure Sanal Makineler Java iş yüklerini dağıtın.

Temel özellikler

  • 🛠 Bulutta yerel dağıtımlar için JVM bayraklarını otomatik olarak ayarlar.
  • 🚀 Tak çalıştır deneyimi. Dockerfile'ınıza veya başlatma betiğinize java koymanız ve jaz komutunu değiştirmeniz gerekiyor.
  • ☁️ Azure ortamlar için iyileştirilmiş.
  • 🔧 Ortam değişkenleri aracılığıyla özelleştirilebilir. Yapılandırma değişikliklerini güvenli bir şekilde kullanıma sunmanın çeşitli yolları vardır.

Desteklenen ortamlar

Java için Azure Komut Başlatıcısı, linux tabanlı ortamlarda Java başlatıcının kullanılabildığı her yerde kullanılabilir. Aşağıdaki Azure ve CI/CD platformları genelinde doğrulanmış ve test edilmiştir:

  • Azure Kubernetes Hizmeti (AKS)
  • Azure Container Apps
  • Azure App Service
  • Azure İşlevleri
  • Azure Red Hat OpenShift (ARO)
  • Azure Sanal Makineler
  • Azure DevOps
  • GitHub Codespaces
  • GitHub Actions

Önemli

Java için Azure Komut Başlatıcısı, kullanılabilir kaynakları belirlemek ve JVM'yi buna göre ayarlamak için cgroup v1 ve v2 bilgilerini okur. Bellek sınırlarını ve diğer kaynak kısıtlamalarını keşfetmek için /sys/fs/cgroup içindeki dosyaları tarar.

Cgroup dosya sistemi /sys/fs/cgroup'a bağlı değilse, Java için Azure Komut Başlatıcısı kapsayıcılama sınırlarını doğru algılamayabilir ve bu da düşük performansa ve hatta yetersiz bellek hatalarına neden olabilir. Desteklenen ortamlarda bunun bir sorun olduğu bir senaryo tanımlamadık, ancak özelleştirilmiş ortamlarda bu sınırlamayla karşılaşmak mümkün olabilir.

Daha fazla bilgi için bkz. "Cgroup bağlama noktam neden önemli?".

Genel önizleme

Java için Azure Komut Başlatıcısı artık genel önizlemede! Bu araç ve avantajlarına giriş için genel önizleme duyurusunu okuyun.

Nasıl çalışır?

Java için Azure Komut Başlatıcısı, kapsayıcınız veya sanal makine başlatma komutunuz ile JVM arasında yer alır. Aracı başlattığınızda:

  1. Bulut ortamını algılar (örneğin, kapsayıcı sınırları ve kullanılabilir bellek).
  2. İş yükü türünü analiz eder ve aşağıdakiler gibi en uygun JVM ayarlama bayraklarını seçer:
    • Yığın boyutlandırma.
    • Çöp toplayıcı seçimi ve ayarlama.
    • Gerektiğinde günlüğe kaydetme ve tanılama ayarları yapılabilir.
  3. Ayarlama bayraklarını ve kullanıcı tarafından sağlanan bağımsız değişkenleri geçirerek bir Java işlemi başlatır.
  4. Java işlemine stdout, stderr, stdin ve işletim sistemi sinyallerini görünmez bir şekilde aktarır.
  5. Java işlemini izler ve sonlandırıldığında çıkış kodunu aktarır.

Örnek kullanım

Java için Azure Komut Başlatıcısı, kod değişikliği gerektirmeden java komutunun yerine bir açılır menüdür. Basitçe, başlatma betiklerinizde javajaz ile değiştirin; örneğin, java -jar foo.jar'yi jaz -jar foo.jar ile değiştirin.

JVM seçeneklerinizi el ile ayarlamak yerine:

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

jaz kullanın:

jaz -jar myapp.jar

Varsayılan olarak, jaz kullanıcı tarafından sağlanan ayarlama bayraklarını algılamadığında ayarlamayı uygular. Java komut satırı bağımsız değişkenleri veya Java seçenek ortamı değişkenleri zaten kullanıcı tarafından sağlanan ayarlama bayrakları (veya -X*gibi-XX*) içeriyorsa, jaz bu ayarları korur ve kendi ayarlarını eklemez. jaz’ın kendi ayarlarını uygulamasını zorlamak için (kullanıcı tarafından sağlanan ayar bayraklarını kaldırmadan) JAZ_IGNORE_USER_TUNING=1 değerini ayarlayın.

Uygulamanız aşağıdakilerden otomatik olarak yararlanabilir:

  • Bulutta yerel ve kapsayıcı iş yükleri için savaşta test edilmiş varsayılanlar.
  • Bulutta bellek israfı azaltıldı.
  • Daha iyi başlangıç ve ısınma performansı.

Kurulum

Linux'ta Java için Azure Komut Başlatıcısı'nı yükleme veya kapsayıcı görüntülerini yükleme yönergeleri için Yükleme sayfasına bakın.

Yol Haritası

  • ⚙️ JVM yapılandırma profilleri
  • 📦 AppCDS desteği
  • 🔄 Sürekli ayarlama
  • 📊 Telemetri
  • 📦 Leyden desteği

Değişiklik günlüğü

Java sürümleri için Azure Komut Başlatıcısı sayfasında Java sürüm notları ve değişiklik günlüğü için Azure Komut Başlatıcısı'nı bulabilirsiniz.

Telemetri

Java için Azure Komut Başlatıcısı kullanım verilerini toplar ve ürünlerimizin ve hizmetlerimizin geliştirilmesine yardımcı olmak için Microsoft gönderir. Daha fazla bilgi edinmek için gizlilik bildirimimizi okuyun.