A Red Hat és a GraalVM közösség nemrégiben bejelentette egy új GraalVM disztribúció , a Mandrel megjelenését . Ez az új disztribúció várhatóan fellendíti a Quarkus Red Hat-es fejlesztését, amely a nemrég bejelentett Red Hat Runtimes kiegészítés.
A Quarkus egy natív Java Kubernetes keretrendszer JVM-hez és natív fordításhoz. A Quarkus hatékony megoldást kínál szerver nélküli Java alkalmazások, mikroszolgáltatások, konténerek, Kubernetes, FaaS vagy felhőalkalmazások futtatására . A Mandrel nyílt forráskódú és elérhető a GitHubon, de még nincs bináris disztribúciója.
Mark Little, a Red Hat mérnöki igazgatójának jegyzete szerint a Mandrel egy szabványos OpenJDK disztribúcióként írható le, amely egy speciálisan csomagolt natív GraalVM képfájlt tartalmaz.
A Red Hat Mandrel bevezetésének elsődleges célja a Quarkus keretrendszer sebességének és hatékonyságának javítása. Ez egy olyan keretrendszer, amely helyi fejlesztést kínál gyors újratöltésekkel, valamint konténerizált vagy szerver nélküli terjesztést a felhőszolgáltatók számára.
A Quarkus arra összpontosít, hogy olyan natív futtatható fájlokat tudjon létrehozni , amelyek gyorsabban indulnak, és csökkentik a költségeket és az üzemeltetési erőforrásokat a felhőben.
A Red Hat valójában elmagyarázta, hogy a Quarkus számára a GraalVM fontos eleme a natív képfüggvénye , amely natív futtatható fájlokat hoz létre – ez kulcsfontosságú tulajdonsága annak, hogy a Java versenyképes legyen a felhőalapú natív munkaterhelésekben. Ezért a Mandrel lehetővé teszi a GraalVM használatát az OpenJDK 11 mellett Red Hat Enterprise Linuxon és más OpenJDK 11 disztribúciókon.
A Red Hat szerint a felhasználóhoz képest a különbség minimális, de a karbantarthatóság érdekében elengedhetetlen az előzetes összehangolás az OpenJDK 11-hez és a GraalVM-hez.
"A Mandrel révén a Red Hat ügyfelei és a GraalVM közösség profitálnak az igazán nyílt fejlesztésből, a Red Hat pedig bevált mechanizmusokkal tudja támogatni ügyfeleit, miközben visszaadja azokat a közösségeket, amelyekben megbíznak, hogy folytassák az állam fejlődését. - mondta a társaság Mandrelről beszélve.
Teljesítmény tekintetében a GraalVM 50-szer gyorsabb indítási idővel és 5-ször alacsonyabb memóriahasználattal tűnik ki.
Ezeket a különböző teszteket a Quarkus keretrendszer régebbi verziójával hajtották végre a Java HotSpot móddal szemben. Bár ez a fejlesztés hosszabb fordítási időt igényel, a Quarkus Lambda és az Azure funkciók telepítésével párhuzamosan használható.
Továbbá a Mandrel GitHub repository egyelőre nem kínál bináris disztribúciót. Ezért a felhasználók maguk fordítják le a JDK-t az utasításokat követve. Emellett James Ward szoftverfejlesztő részletesen áttekintette a GraalVM-et, felvázolva a teljesítménybeli előnyeit, valamint néhány hátrányát, például a reflexióra támaszkodó alkalmazásokat.
Szerinte ez problémát jelent a natív GraalVM képek számára, mivel a visszaverődés futás közben történik, ami megnehezíti az AOT (korai madár) fordító számára a végrehajtási utak meghatározását.
Olyan alkalmazásokról, amelyeknek nem kell gondolkodniuk, a Quarkus honlapja közvetlenül az előnyre mutat: 12 MB RAM és 73 MB (83% -os csökkenés) és 0.016 másodperc az első válaszban, szemben 0.943 (98% -os csökkenés) ).
A fejlesztők mostantól használhatják a Mandrel-t saját buildjükkel , vagy támaszkodhatnak a GraalVM közösségre, illetve a JDK 11 és újabb verzióinak bármely disztribúciójára. Mások szerint ezek a natív Java keretrendszerek nem igazán működnek, és nem szabadna ipari szabvánnyá válniuk.
Szerintük ez nem egy általános célú technológia, amellyel egy meglévő Java alkalmazást natívvá tehetünk. Ez még a hatalmas Java ökoszisztéma egy könyvtárával írt alkalmazások esetében sem fog működni.
Utóbbiak úgy vélik, hogy a különféle keretrendszer-szolgáltatók arra tippelnek, hogy a legtöbb Java alkalmazás HTTP / ORM / JSON alkalmazás, az intézkedéseken és a biztonságon kívül stb.
Ha többet szeretne megtudni róla, az alábbi linken tájékozódhat .