Tarin asali a cikin Quarkus - me yasa yake da mahimmanci

Sannu duka! Wannan shi ne matsayi na biyu a cikin jerin shirye-shiryenmu kan Quarkus - a yau za mu yi magana game da harhada na asali.

Tarin asali a cikin Quarkus - me yasa yake da mahimmanci

kwarkus tarin Java ne wanda aka keɓe don Kubernetes. Duk da yake akwai sauran abubuwa da yawa da za a yi a nan, mun yi ayyuka masu kyau a kan abubuwa da yawa, ciki har da inganta JVM da kuma tsarin da yawa. Ɗaya daga cikin fasalulluka na Quarkus wanda ya jawo ƙarin sha'awa daga masu haɓakawa shine cikakkiyar tsarinsa, mara tsari don juya lambar Java zuwa fayilolin aiwatarwa don takamaiman tsarin aiki (wanda ake kira "tarin asali"), mai kama da C da C ++, inda irin wannan tarin. yawanci yana faruwa a ƙarshen zagaye na gini, gwaji, da turawa.

Kuma yayin da harhada na asali yana da mahimmanci, kamar yadda zamu nuna a ƙasa, ya kamata a lura cewa Quarkus yana aiki sosai akan injin Java na yau da kullun, OpenJDK Hotspot, godiya ga haɓaka ayyukan da muka aiwatar a cikin tarin. Don haka, ya kamata a yi la’akari da haɗaɗɗen asali azaman ƙarin kari wanda za a iya amfani da shi yadda ake so ko ya cancanta. A zahiri, Quarkus ya dogara sosai kan OpenJDK idan ya zo ga hotunan asali. Kuma yanayin dev, wanda masu haɓakawa suka yarda da shi, yana tabbatar da kusan gwajin sauye-sauyen nan take saboda ingantattun damar aiwatar da code mai ƙarfi da aka aiwatar a Hotspot. Bugu da kari, lokacin ƙirƙirar hotunan GraalVM na asali, ana amfani da ɗakin karatu na aji na OpenJDK da damar HotSpot.

Don haka me yasa kuke buƙatar tari na asali idan an riga an inganta komai daidai? Za mu yi kokarin amsa wannan tambaya a kasa.

Bari mu fara da bayyane: Red Hat yana da ƙwarewa mai yawa don haɓaka JVMs, tari da tsarin aiki yayin haɓaka aikin. JBoss, ciki har da:

  • Sabar aikace-aikacen farko don aiki a cikin gajimare a kan dandamali Red Hat OpenShift.
  • Sabar aikace-aikacen farko don gudana akan kwamfutoci Toshe PC.
  • Sabar aikace-aikacen farko don kunnawa Rasberi Pi.
  • Yawan ayyukan da ke gudana akan na'urori Android.

Mun kasance muna fuskantar kalubale na gudanar da aikace-aikacen Java a cikin gajimare da kuma kan na'urori masu amfani da albarkatu (karanta: IoT) shekaru da yawa kuma mun koyi samun mafi kyawun JVM dangane da aiki da inganta ƙwaƙwalwar ajiya. Kamar sauran mutane da yawa, mun daɗe muna aiki tare da haɗa aikace-aikacen Java na asali G.C.J., Baƙi, Excelsior JET har ma Dalvik kuma muna da masaniya game da fa'idodi da rashin amfani da wannan hanyar (misali, matsalar zabar tsakanin duniyar duniya na "gina sau ɗaya - gudu-ko'ina" da gaskiyar cewa aikace-aikacen da aka haɗa sun fi ƙanƙanta da sauri).

Me ya sa yake da muhimmanci a yi la'akari da waɗannan fa'idodi da rashin amfani? Domin a wasu yanayi rabon su ya zama mai yanke hukunci:

  • Misali, a cikin marassa sabar/wahalar da ke haifar da aukuwa inda ayyuka kawai dole su fara a cikin (mai wuya ko taushi) ainihin lokacin don samun lokacin amsa abubuwan da suka faru. Ba kamar sabis na tsayin daka ba, a nan tsawon lokacin fara sanyi yana ƙaruwa da lokacin amsawa ga buƙata. JVM har yanzu yana ɗaukar lokaci mai yawa don farawa, kuma yayin da ana iya rage wannan a wasu lokuta ta hanyoyin kayan aiki masu tsabta, bambancin daƙiƙa ɗaya da 5 millise seconds na iya zama bambanci tsakanin rayuwa da mutuwa. Ee, a nan zaku iya wasa tare da ƙirƙirar ajiyar injunan Java mai zafi (wanda, alal misali, mun yi da su tura OpenWhisk zuwa Knative), amma wannan a cikin kansa baya bada garantin cewa za a sami isassun JVMs don aiwatar da buƙatun azaman ma'aunin nauyi. Kuma daga mahangar tattalin arziki, tabbas wannan ba shine zaɓi mafi daidai ba.
  • Bugu da ari, akwai wani al'amari wanda sau da yawa tasowa: multitenancy. Duk da cewa JVMs sun kusanci tsarin aiki a cikin iyawar su, har yanzu ba su da ikon yin abin da muka saba da shi a cikin Linux - hanyoyin keɓewa. Don haka, gazawar zaren guda ɗaya na iya rushe injin Java gaba ɗaya. Mutane da yawa suna ƙoƙarin shawo kan wannan koma baya ta hanyar keɓance JVM daban don aikace-aikacen kowane mai amfani don rage sakamakon gazawar. Wannan yana da ma'ana sosai, amma bai dace da sikeli ba.
  • Bugu da ƙari, don aikace-aikacen da ke daidaita gajimare, muhimmiyar alama ita ce yawan ayyuka akan mai watsa shiri. Juyawa zuwa hanya 12 aikace-aikace dalilai, Microservices da Kubernetes suna ƙara yawan injunan Java a kowace aikace-aikacen. Wato, a gefe guda, duk wannan yana ba da elasticity da aminci, amma a lokaci guda yawan amfani da ƙwaƙwalwar ajiya a cikin sharuɗɗan sabis kuma yana ƙaruwa, kuma wasu daga cikin waɗannan kuɗaɗen ba koyaushe ake buƙata ba. Fayilolin da za a iya aiwatarwa a tsaye suna fa'ida anan saboda dabaru daban-daban na ingantawa, kamar kawar da matattun lambar ƙima, lokacin da hoton ƙarshe ya ƙunshi kawai waɗancan sassan tsarin (ciki har da JDK kanta) waɗanda sabis ɗin ke amfani da su. Don haka, hadi na asali na Quarkus yana taimakawa wajen sanya lokuta masu yawa akan mai masaukin ba tare da lalata tsaro ba.

A haƙiƙa, abubuwan da ke sama sun riga sun isa don fahimtar hujjar tattarawar asali daga mahangar mahalarta aikin Quarkus. Duk da haka, akwai wani, wanda ba fasaha ba, amma kuma dalili mai mahimmanci: a cikin 'yan shekarun nan, yawancin masu shirye-shirye da kamfanoni masu tasowa sun yi watsi da Java don neman sababbin harsunan shirye-shirye, suna imani cewa Java, tare da JVMs, stacks da frameworks, sun zama ma. ƙwaƙwalwar ajiya-yunwa, jinkirin yawa, da sauransu.

Koyaya, al'adar amfani da kayan aiki iri ɗaya don magance kowace matsala ita ce ba koyaushe daidai ba ne. Wani lokaci yana da kyau a ɗauki mataki baya don neman wani abu dabam. Kuma idan Quarkus ya sa mutane su dakata su yi tunani, to hakan yana da kyau ga duk yanayin yanayin Java. Quarkus yana wakiltar sabon ra'ayi na yadda ake gina aikace-aikace masu inganci, yana sa Java ya fi dacewa da sabbin gine-ginen aikace-aikacen kamar maras sabar. Bugu da ƙari, saboda haɓakarsa, Quarkus zai yi fatan samun dukkanin yanayin yanayin haɓaka Java, yana ƙara yawan adadin tsarin da za su goyi bayan tattarawar asali a cikin aikace-aikace daga cikin akwatin.

source: www.habr.com

Add a comment