Tiomsú dúchasach i Quarkus - cén fáth go bhfuil sé tábhachtach

Dia duit gach duine! Seo é an dara postáil inár sraith ar Quarkus - inniu beimid ag caint faoi thiomsú dúchasach.

Tiomsú dúchasach i Quarkus - cén fáth go bhfuil sé tábhachtach

Cuarcus Is stack Java atá saincheaptha le haghaidh Kubernetes. Cé gur cinnte go bhfuil go leor eile le déanamh anseo, tá go leor oibre maith déanta againn ar go leor gnéithe, lena n-áirítear an JVM a bharrfheabhsú agus roinnt creataí. Ar cheann de na gnéithe de Quarkus a tharraing suim mhéadaithe ó fhorbróirí is ea an cur chuige cuimsitheach, gan uaim maidir le cód Java a thiontú ina chomhaid inrite do chóras oibriúcháin ar leith ("tiomsú dúchasach"), cosúil le C agus C++, áit a ndéantar tiomsú den sórt sin. a tharlaíonn de ghnáth ag deireadh timthriall tógála, tástála, agus imlonnaithe.

Agus cé go bhfuil an tiomsú dúchais tábhachtach, mar a thaispeánfaimid thíos, ba chóir a thabhairt faoi deara go ritheann Quarkus go han-mhaith ar an meaisín Java is coitianta, OpenJDK Hotspot, a bhuíochas leis na feabhsuithe feidhmíochta atá curtha i bhfeidhm againn ar fud an chruach. Dá bhrí sin, ba cheart tiomsú dúchasach a mheas mar bhónas breise is féidir a úsáid de réir mar a theastaíonn nó is gá. Go deimhin, braitheann Quarkus go mór ar OpenJDK maidir le híomhánna dúchais. Agus cinntíonn an modh dev, a ghlac na forbróirí go mór leis, tástáil beagnach mheandarach ar athruithe mar gheall ar na cumais chun cinn maidir le forghníomhú cód dinimiciúil a chuirtear i bhfeidhm i Hotspot. Ina theannta sin, nuair a bhíonn íomhánna dúchasacha GraalVM á gcruthú, úsáidtear leabharlann ranga OpenJDK agus cumais HotSpot.

Mar sin cén fáth a bhfuil tiomsú dúchasach de dhíth ort má tá gach rud optamaithe go foirfe cheana féin? Déanfaimid iarracht an cheist seo a fhreagairt thíos.

Cuirimis tús leis an méid atá soiléir: tá taithí fhairsing ag Red Hat ar JVManna, stoic agus creataí a bharrfheabhsú le linn forbairt tionscadail JBoss, san áireamh:

  • An chéad fhreastalaí iarratais a bheith ag obair sa scamall ar an ardán Red Hat OpenShift.
  • An chéad fhreastalaí feidhmchlár a ritheann ar ríomhairí PC breiseán.
  • An chéad fhreastalaí feidhmchláir le rith air Sú craobh Pí.
  • Réimse tionscadal ag rith ar fheistí Android.

Táimid ag déileáil leis na dúshláin a bhaineann le feidhmchláir Java a reáchtáil sa scamall agus ar fheistí srianta acmhainní (léigh: IoT) le blianta fada anuas agus d'fhoghlaimíomar an leas is fearr a bhaint as an JVM i dtéarmaí feidhmíochta agus leas iomlán a bhaint as cuimhne. Cosúil le go leor eile, táimid ag obair le tiomsú dúchais feidhmchláir Java le fada an lá G.C.J., Éanlaith, Excelsior JET agus fiú Dalvik agus is eol dúinn go maith na buntáistí agus na míbhuntáistí a bhaineann leis an gcur chuige seo (mar shampla, an aincheist a bhaineann le roghnú idir uilíocht “tóg uair amháin – rith-áit ar bith” agus an fhíric go bhfuil feidhmchláir tiomsaithe níos lú agus ag rith níos tapúla).

Cén fáth a bhfuil sé tábhachtach na buntáistí agus na míbhuntáistí seo a mheas? Toisc go mbíonn a gcóimheas cinntitheach i gcásanna áirithe:

  • Mar shampla, i dtimpeallachtaí gan fhreastalaí/imeacht-tiomáinte áit níl le déanamh ach tús a chur le seirbhísí i bhfíor-am (crua nó bog) le go mbeidh am agat freagairt d’imeachtaí. Murab ionann agus seirbhísí marthanacha fadsaoil, anseo méadaítear go mór an t-am freagartha ar iarratas mar gheall ar thús fuar a ré. Glacann an JVM méid suntasach ama fós le tosú, agus cé gur féidir é seo a laghdú i gcásanna áirithe trí mhodhanna crua-earraí íon, is féidir an difríocht idir an dara agus 5 milleasoicind a bheith mar an difríocht idir an saol agus an bás. Sea, anseo is féidir leat imirt timpeall le cúlchiste te de mheaisíní Java a chruthú (a rinneamar, mar shampla, leis ag aistriú OpenWhisk go Knative), ach ní ráthaíonn sé seo ann féin go mbeidh go leor JVManna ann chun iarratais a phróiseáil mar na scálaí ualaigh. Agus ó thaobh na heacnamaíochta de, is dócha nach é seo an rogha is ceart.
  • Ina theannta sin, tá gné eile ann a thagann chun solais go minic: ilthionóntacht. In ainneoin go bhfuil JVMs tar éis teacht an-ghar do chórais oibriúcháin ina gcumas, níl siad fós in ann an méid a bhfuilimid chomh coitianta leis i Linux - próisis leithlisithe a dhéanamh. Mar sin, is féidir le teip snáithe amháin an meaisín Java iomlán a thabhairt síos. Déanann go leor daoine iarracht teacht timpeall ar an míbhuntáiste seo trí JVM ar leith a thiomnú do gach feidhmchlár úsáideora chun iarmhairtí teipe a íoslaghdú. Tá sé seo go leor loighciúil, ach ní luíonn sé go maith le scálú.
  • Ina theannta sin, le haghaidh feidhmchláir atá dírithe ar scamall, is táscaire tábhachtach é dlús na seirbhísí ar an óstach. Aistriú go modheolaíocht 12 fachtóir iarratais, méadaíonn microservices agus Kubernetes líon na meaisíní Java in aghaidh an iarratais. Is é sin, ar thaobh amháin, soláthraíonn sé seo go léir leaisteachas agus iontaofacht, ach ag an am céanna méadaíonn tomhaltas cuimhne bonn i dtéarmaí seirbhíse freisin, agus ní bhíonn cuid de na caiteachais seo riachtanach i gcónaí. Baineann comhaid inrite arna dtiomsú go staitistiúil leas as seo mar gheall ar theicnící optamaithe éagsúla, amhail díothú cód marbh ar leibhéal íseal, nuair nach n-áirítear san íomhá deiridh ach na codanna sin de na creataí (lena n-áirítear an JDK féin) a úsáideann an tseirbhís i ndáiríre. Mar sin, cabhraíonn tiomsú dúchais Quarkus le cásanna seirbhíse a chur go dlúth ar an óstach gan cur isteach ar shlándáil.

I ndáiríre, is leor na hargóintí thuas cheana féin chun fírinniú an tiomsaithe dúchais a thuiscint ó thaobh rannpháirtithe an tionscadail Quarkus. Mar sin féin, tá cúis eile, neamhtheicniúil, ach tábhachtach freisin: le blianta beaga anuas, tá go leor ríomhchláraitheoirí agus cuideachtaí forbartha tar éis Java a thréigean i bhfabhar teangacha cláir nua, ag creidiúint go bhfuil Java, mar aon lena JVManna, stoic agus creataí, tar éis éirí ró-mhór. cuimhne-ocras, ró-mhall, etc.

Mar sin féin, is é an nós úsáid a bhaint as an uirlis chéanna chun aon fhadhb a réiteach níl sé ceart i gcónaí. Uaireanta is fearr céim siar a ghlacadh agus rud éigin eile a lorg. Agus má chuireann Quarkus ar dhaoine sos agus smaoineamh, is maith sin d’éiceachóras Java ar fad. Léiríonn Quarkus dearcadh nuálaíoch ar conas feidhmchláir níos éifeachtaí a thógáil, rud a fhágann go mbeidh Java níos ábhartha d’ailtireachtaí feidhmchláir nua mar gan fhreastalaí. Ina theannta sin, mar gheall ar a leathnú, tá súil go mbeidh éiceachóras iomlán de shínte Java ag Quarkus, ag méadú go suntasach ar líon na gcreatanna a thacóidh le tiomsú dúchais in iarratais as an mbosca.

Foinse: will.com

Add a comment