Ukuhlanganiswa komdabu ku-Quarkus - kungani kubalulekile

Sanibonani nonke! Lokhu okuthunyelwe kwesibili ochungechungeni lwethu lweQuarkus - namuhla sizokhuluma ngokuhlanganiswa kwendabuko.

Ukuhlanganiswa komdabu ku-Quarkus - kungani kubalulekile

Ama-Quarkus iyisitaki se-Java esenzelwe yona Kubernetes. Yize kunokuningi okufanele kwenziwe lapha, senze umsebenzi omningi omuhle ezicini eziningi, okuhlanganisa nokwenza kahle i-JVM kanye nenani lezinhlaka. Esinye sezici ze-Quarkus esihehe isithakazelo esikhulayo kubathuthukisi indlela yayo ebanzi, engenamthungo yokuguqula ikhodi ye-Java ibe amafayela asebenzisekayo ohlelo oluthile lokusebenza (olubizwa ngokuthi “ukuhlanganiswa komdabu”), olufana no-C no-C++, lapho kuhlanganiswa okunjalo. ngokuvamile kwenzeka ekupheleni komjikelezo wokwakha, ukuhlolwa, nokuthunyelwa.

Futhi nakuba ukuhlanganiswa komdabu kubalulekile, njengoba sizobonisa ngezansi, kufanele kuqashelwe ukuthi i-Quarkus isebenza kahle kakhulu emshinini ovame kakhulu we-Java, i-OpenJDK Hotspot, ngenxa yokuthuthukiswa kokusebenza esikusebenzise kuso sonke isitaki. Ngakho-ke, ukuhlanganiswa komdabu kufanele kubhekwe njengebhonasi eyengeziwe engasetshenziswa njengoba ifunwa noma kudingekile. Eqinisweni, i-Quarkus incike kakhulu ku-OpenJDK uma kukhulunywa ngezithombe zomdabu. Futhi imodi ye-dev, eyamukelwe ngemfudumalo onjiniyela, iqinisekisa ukuhlola okucishe kube khona manjalo kwezinguquko ngenxa yamakhono athuthukile okwenziwa kwekhodi eguquguqukayo esetshenziswe ku-Hotspot. Ngaphezu kwalokho, lapho udala izithombe zomdabu ze-GraalVM, kusetshenziswa umtapo wezincwadi wekilasi le-OpenJDK namandla we-Hotspot.

Ngakho-ke kungani udinga ukuhlanganiswa komdabu uma yonke into isivele yenziwe kahle? Sizozama ukuphendula lo mbuzo ngezansi.

Ake siqale ngokusobala: I-Red Hat inolwazi olunzulu lokuthuthukisa ama-JVM, izitaki nezinhlaka ngesikhathi sokuthuthukiswa kwephrojekthi. JBoss, okuhlanganisa:

  • Iseva yohlelo lokusebenza lokuqala ukusebenza emafini endaweni yesikhulumi I-Red Hat OpenShift.
  • Iseva yohlelo lokusebenza yokuqala yokusebenza kumakhompyutha Xhuma i-PC.
  • Iseva yohlelo lokusebenza yokuqala ezosebenza Ukusajingijolo Pi.
  • Ibanga lamaphrojekthi asebenza kumadivayisi Android.

Sekuyiminyaka eminingi sibhekene nezinselelo zokuqalisa izinhlelo zokusebenza ze-Java efwini nakumadivayisi anezinsiza (funda: IoT) futhi sifunde ukuthola okuningi ku-JVM mayelana nokusebenza nokuthuthukisa inkumbulo. Njengabanye abaningi, kudala sisebenza ngokuhlanganiswa komdabu kwezinhlelo zokusebenza ze-Java G.C.J., I-Avian, Excelsior JET futhi ngisho I-Dalvik futhi sizazi kahle izinto ezinhle nezimbi zale ndlela (isibonelo, inkinga yokukhetha phakathi kwendawo yonke ethi “build once – run- anywhere” kanye neqiniso lokuthi izinhlelo zokusebenza ezihlanganisiwe zincane futhi zisebenza ngokushesha).

Kungani kubalulekile ukucabangela lezi ezinhle nezimbi? Ngoba kwezinye izimo isilinganiso sabo sinquma:

  • Isibonelo, ezindaweni ezingenaseva/eziqhutshwa umcimbi lapho izinsiza kufanele ziqale ngesikhathi sangempela (esinzima noma esithambile) ukuze ube nesikhathi sokuphendula izehlakalo. Ngokungafani nezinsizakalo ezihlala isikhathi eside eziqhubekayo, lapha ubude besikhathi sokuqala kwamakhaza kwandisa kakhulu isikhathi sokuphendula esicelweni. I-JVM isathatha isikhathi esibalulekile ukuqalisa, futhi nakuba lokhu kungancishiswa kwezinye izimo ngezindlela ezihlanzekile zehadiwe, umehluko phakathi kwesekhondi elilodwa nama-millisecond angu-5 ungaba umehluko phakathi kokuphila nokufa. Yebo, lapha ungadlala ngokudala indawo yokugcina eshisayo yemishini ye-Java (okuyinto, ngokwesibonelo, esiyenze ngayo ukuthumela i-OpenWhisk ku-Knative), kodwa lokhu kukodwa akuqinisekisi ukuthi kuzoba nama-JVM anele ukucubungula izicelo njengezikali zomthwalo. Futhi ngokombono wezomnotho, lokhu cishe akuyona inketho elungile kakhulu.
  • Ngaphezu kwalokho, kunesinye isici esivame ukuvela: i-multitenancy. Naphezu kweqiniso lokuthi ama-JVM asondele kakhulu kumasistimu wokusebenza ngamakhono awo, awakwazi ukwenza lokho esikujwayele ku-Linux - izinqubo zokuhlukanisa. Ngakho-ke, ukwehluleka kochungechunge olulodwa kungawisa wonke umshini we-Java. Abantu abaningi bazama ukuzungeza le nkinga ngokunikezela i-JVM ehlukile yezinhlelo zokusebenza zomsebenzisi ngamunye ukuze banciphise imiphumela yokwehluleka. Lokhu kunengqondo impela, kodwa akuhambisani kahle nokukala.
  • Ngaphezu kwalokho, kuzinhlelo zokusebenza ezigxile efwini, inkomba ebalulekile ukuminyana kwezinsizakalo kumsingathi. Ukushintshela ku-methodology 12 izici zohlelo, microservices kanye ne-Kubernetes inyusa inani lemishini ye-Java ngohlelo lokusebenza ngalunye. Okusho ukuthi, ngakolunye uhlangothi, konke lokhu kunikeza ukunwebeka nokuthembeka, kodwa ngesikhathi esifanayo ukusetshenziswa kwememori eyisisekelo ngokwemibandela yesevisi nakho kuyanda, futhi ezinye zalezi zindleko azidingeki ngaso sonke isikhathi. Amafayela asebenzisekayo ahlanganiswe ngokuqinile ayazuza lapha ngenxa yamasu ahlukahlukene okuthuthukisa, njengokuqedwa kwekhodi efile yezinga eliphansi, lapho isithombe sokugcina sihlanganisa lezo zingxenye zezinhlaka kuphela (okuhlanganisa i-JDK ngokwayo) ezisetshenziswa ngempela yisevisi. Ngakho-ke, ukuhlanganiswa komdabu kwe-Quarkus kusiza ukubeka izimo zesevisi kumsingathi ngaphandle kokubeka engcupheni ukuphepha.

Empeleni, izimpikiswano ezingenhla sezivele zanele ukuqonda ukufaneleka kokuhlanganiswa komdabu ngokombono wabahlanganyeli bephrojekthi ye-Quarkus. Kodwa-ke, kunesinye isizathu, esingezona ezobuchwepheshe, kodwa futhi esibalulekile: eminyakeni yamuva nje, abaningi abahleli bezinhlelo nezinkampani zokuthuthukiswa bashiye i-Java bathanda izilimi ezintsha zokuhlela, bekholelwa ukuthi i-Java, kanye nama-JVM ayo, izitaki kanye nezinhlaka, isiphenduke kakhulu. abalambele inkumbulo, abaphuza kakhulu, njll.

Kodwa-ke, umkhuba wokusebenzisa ithuluzi elifanayo ukuxazulula noma iyiphi inkinga akulungile ngaso sonke isikhathi. Kwesinye isikhathi kungcono ukuhlehla ubheke okunye. Futhi uma i-Quarkus yenza abantu bame kancane futhi bacabange, lokho kuhle kuyo yonke i-Java ecosystem. I-Quarkus imele umbono oqanjiwe wokuthi ungazakha kanjani izinhlelo zokusebenza ezisebenza kahle, okwenza i-Java ihambisane kakhulu nezakhiwo zohlelo lokusebenza olusha olungenaseva. Ngaphezu kwalokho, ngenxa yokwanda kwayo, i-Quarkus ngethemba ukuthi izoba nayo yonke i-ecosystem yezandiso ze-Java, ikhulise kakhulu inani lezinhlaka ezizosekela ukuhlanganiswa komdabu ezinhlelweni eziphuma ebhokisini.

Source: www.habr.com

Engeza amazwana