Tüske: GraalVM diszkó a Quarkus építéséhez

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 .


Hozzáadás előnyben részesített forrásként a Google-ben