Azure Java parancsindítója (nyilvános előzetes verzió)

A Java Azure parancsindítója (jaz) egy egyszerű segédprogram, amely leegyszerűsíti, hogy Java fejlesztők hogyan futtatják az alkalmazásaikat Azure. Az Java virtuális gép (JVM) felhőkörnyezetekhez szabott beállításainak intelligens alkalmazásával az eszköz csökkenti a konfigurációs többletterhelést, és javítja az erőforrások kihasználtságát, és nagyobb potenciállal rendelkezik a jobb teljesítmény érdekében.

Ez az eszköz ideális azoknak a fejlesztőknek, akik:

  • Jobb JVM-alapértelmezett beállításokat szeretne, anélkül, hogy mélyen belemerül a hangolási útmutatókba.
  • Natív felhőbeli mikroszolgáltatások fejlesztése és üzembe helyezése olyan keretrendszerekkel, mint a Spring Boot, a Quarkus vagy a Micronaut.
  • A tárolóalapú munkafolyamatok, például a Kubernetes és az OpenShift előnyben részesítése.
  • Java számítási feladatok üzembe helyezése Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift vagy Azure Virtual Machines.

Legfontosabb funkciók

  • 🛠 Automatikusan hangolja a JVM-jelzőket a felhőnatív telepítésekhez.
  • 🚀 Csatlakoztasd és használd élmény. Egyszerűen helyezze be a Dockerfile-ba vagy indító szkriptbe, és cserélje ki a java parancsot a jaz parancsra.
  • ☁️ Azure környezetekhez optimalizálva.
  • 🔧 Környezeti változókkal testreszabható. A konfigurációs módosítások biztonságos bevezetésének számos módja van.

Támogatott környezetek

A Java Azure parancsindítója bárhol használható, ahol a Java-indító elérhető Linux-alapú környezetekben. A következő Azure és CI/CD platformokon ellenőrizték és tesztelték:

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

Fontos

A Java Azure parancsindítója beolvassa az 1. és a 2. verziójú csoport adatait a rendelkezésre álló erőforrások meghatározásához és a JVM megfelelő hangolásához. A /sys/fs/cgroup fájljait vizsgálja meg a memóriakorlátozások és egyéb erőforrás-korlátozások felfedezése érdekében.

Ha a cgroup fájlrendszer nincs csatlakoztatva /sys/fs/cgroup, előfordulhat, hogy a Java Azure parancsindítója nem észleli megfelelően a tárolókra vonatkozó korlátokat, ami gyenge teljesítményhez vagy memóriahiányhoz vezet. Nem azonosítottunk olyan forgatókönyvet a támogatott környezetekben, ahol ez aggodalomra ad okot, de előfordulhat, hogy ez a korlátozás a testre szabott környezetekben is előfordulhat.

További információ: "Miért számít a cgroup csatlakoztatási pontja?".

Nyilvános előzetes verzió

A Java Azure parancsindítója nyilvános előzetes verzióban érhető el! Olvassa el a nyilvános előzetes verzióra vonatkozó közleményt , amely bemutatja az eszközt és annak előnyeit.

Hogyan működik?

A Java Azure parancsindítója a tároló vagy a virtuális gép indítási parancsa és a JVM között helyezkedik el. Az eszköz indításakor a következő történik:

  1. Észleli a felhőkörnyezetet (például tárolókorlátokat és rendelkezésre álló memóriát).
  2. ** Elemzi a terhelés típusát, és kiválasztja azokat a JVM-hangolási jelzőket, amelyek a legjobban illeszkednek, például:
    • Halomméretezés.
    • Szemétgyűjtő kiválasztása és finomhangolása.
    • Szükség szerint naplózási és diagnosztikai beállítások.
  3. Elindít egy Java folyamatot, átadva neki a hangoló jelölőket és a felhasználó által megadott argumentumokat.
  4. Láthatatlanul továbbítja az stdout, stderr, stdin és os jeleket a Java folyamatba és onnan.
  5. Figyeli a Java folyamatot, és továbbítja a kilépési kódját, amikor leáll.

Példa használatra

A Java Azure parancsindítója a java parancs legördülő menüje, amely nem igényel kódmódosítást. Egyszerűen cserélje le a java-t jaz-re az indítási szkriptekben – például cserélje le a java -jar foo.jar-t jaz -jar foo.jar-ra.

A JVM-beállítások manuális finomhangolása helyett:

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

jazhasználata:

jaz -jar myapp.jar

Alapértelmezés szerint a jaz a hangolási beállításait alkalmazza, ha nem észlel felhasználó által megadott hangolási kapcsolókat. Ha a Java parancssori argumentumok vagy Java beállítási környezeti változók már tartalmazzák a felhasználó által megadott hangjelölőket (például -X* vagy -XX*), jaz megtartja ezeket a beállításokat, és nem adja hozzá a sajátját. A(z) jaz hangolásának kikényszerítéséhez — a felhasználó által megadott hangolási jelzők eltávolítása nélkül — állítsa be ezt: JAZ_IGNORE_USER_TUNING=1

Az alkalmazás automatikusan kihasználhatja a következő előnyöket:

  • Felhő-natív és konténer munkaterhelésekhez bevált alapértelmezések.
  • Csökkent memóriapazarlás a felhőben.
  • Jobb indítási és bemelegítési teljesítmény.

Telepítés

A Azure parancsindító linuxos Java telepítéséhez vagy a tárolólemezképek telepítéséhez a Telepítési lapon talál útmutatást.

Ütemterv

  • ⚙️ JVM-konfigurációs profilok
  • 📦 AppCDS-támogatás
  • 🔄 Folyamatos hangolás
  • 📊 Telemetria
  • 📦 Leyden-támogatás

Változásnapló

A Azure parancsindítót Java kibocsátási megjegyzésekhez és változásnaplóhoz a Java kiadási Azure parancsindító oldalán találja.

Telemetria

Az Azure Command Launcher for Java gyűjti a használati adatokat, és elküldi azokat a Microsoftnak, hogy segítsen javítani termékeinket és szolgáltatásainkat. További információért olvassa el adatvédelmi nyilatkozatunkat.