Mandrel: distro GraalVM untuk membina Quarkus

Red Hat dan komuniti GraalVM baru-baru ini mengumumkan pelancaran pengedaran GraalVM baharu yang dipanggil Mandrel . Pengedaran baharu ini dijangka akan meningkatkan binaan Red Hat bagi Quarkus, tambahan yang diumumkan baru-baru ini kepada Red Hat Runtimes.

Quarkus ialah rangka kerja Java Kubernetes asli untuk JVM dan kompilasi asli. Quarkus menyediakan penyelesaian yang cekap untuk menjalankan aplikasi Java tanpa pelayan, mikroservis, kontena, Kubernetes, FaaS atau aplikasi awan. Mandrel ialah sumber terbuka dan tersedia di GitHub, tetapi ia belum mempunyai taburan binari.

Menurut nota daripada Mark Little, pengarah kanan kejuruteraan di Red Hat, Mandrel boleh digambarkan sebagai pengedaran OpenJDK standard dengan imej GraalVM asli yang dibungkus khas.

Matlamat utama di sebalik pengenalan Mandrel oleh Red Hat adalah untuk meningkatkan kelajuan dan kecekapan rangka kerja Quarkus. Ia merupakan rangka kerja yang menawarkan pembangunan setempat dengan muat semula pantas dan pengedaran kontena atau tanpa pelayan kepada penyedia pengkomputeran awan.

Quarkus memberi tumpuan kepada keupayaan untuk membina fail boleh laku natif yang bermula lebih pantas dan juga mengurangkan kos dan sumber operasi di awan.

Malah, Red Hat menjelaskan bahawa bagi Quarkus, elemen penting GraalVM ialah fungsi imej natifnya , yang menghasilkan fail boleh laku natif—ciri utama untuk Java agar dapat bersaing dalam beban kerja natif awan. Oleh itu, Mandrel membolehkan GraalVM digunakan bersama OpenJDK 11 pada Red Hat Enterprise Linux dan pengedaran OpenJDK 11 yang lain.

Menurut Red Hat, perbezaan bagi pengguna adalah minimum, tetapi untuk pemeliharaan, penyelarasan sebelumnya dengan OpenJDK 11 dan GraalVM sangat penting.

"Dengan Mandrel, pelanggan Red Hat dan komuniti GraalVM mendapat manfaat daripada pembangunan yang benar-benar terbuka, dan Red Hat dapat menyokong pelanggannya dengan mekanisme yang terbukti sambil memberikan kembali kepada komuniti yang mereka percayai untuk terus maju dalam bidang teknologi pengkomputeran sumber terbuka," kata syarikat itu, bercakap mengenai Mandrel.

Dari segi prestasi, GraalVM menonjol dengan masa permulaan 50x lebih pantas dan penggunaan memori 5x lebih rendah.

Ujian yang berbeza ini dilakukan menggunakan versi lama kerangka Quarkus terhadap mod Java HotSpot. Walaupun peningkatan ini memerlukan waktu kompilasi yang lebih lama, ia dapat digunakan selari dengan penggunaan fungsi Quarkus Lambda dan Azure.

Tambahan pula, repositori Mandrel GitHub masih belum menawarkan pengedaran binari. Oleh itu, pengguna mengkompilasi JDK sendiri mengikut arahan. Di samping itu, pembangun perisian James Ward menyemak GraalVM secara terperinci, menggariskan manfaat prestasinya serta beberapa kekurangan, seperti aplikasi yang bergantung pada pantulan.

Menurutnya, ini menimbulkan masalah pada gambar GraalVM asli kerana pantulan berlaku pada waktu runtime, menyukarkan penyusun AOT (burung awal) untuk menentukan jalan pelaksanaan.

Ketika datang ke aplikasi yang tidak perlu dipikirkan, halaman utama Quarkus menunjukkan kelebihan langsung: RAM 12MB berbanding 73MB (penurunan 83%) dan 0.016 saat pada respons pertama berbanding 0.943 (penurunan 98% ).

Pembangun kini boleh menggunakan Mandrel dengan binaan mereka sendiri , atau mereka boleh bergantung pada komuniti GraalVM atau mana-mana pengedaran JDK 11 dan ke atas. Ada juga yang mengatakan rangka kerja Java asli ini tidak berfungsi dan tidak sepatutnya menjadi standard industri.

Menurut mereka, ia bukanlah teknologi tujuan umum di mana anda boleh mengambil aplikasi Java sedia ada dan menjadikannya natif. Ini tidak akan berfungsi, walaupun untuk aplikasi yang ditulis menggunakan pustaka daripada ekosistem Java yang luas.

Yang terakhir percaya bahawa pelbagai penyedia rangka bertaruh pada fakta bahawa kebanyakan aplikasi Java adalah aplikasi HTTP / ORM / JSON, selain langkah-langkah dan keselamatan, dll.

Jika anda ingin mengetahui lebih lanjut mengenainya, anda boleh merujuk pautan berikut.


Tambahkan sebagai sumber pilihan dalam Google