Kopano ea matsoalloa ho Quarkus - hobaneng e le bohlokoa

Lumelang bohle! Ena ke poso ea bobeli lethathamong la rona la Quarkus - kajeno re tla bua ka pokello ea matsoalloa.

Kopano ea matsoalloa ho Quarkus - hobaneng e le bohlokoa

quarkus ke Java stack e etselitsoeng Kubernetes. Leha ho na le ho hongata ho lokelang ho etsoa mona, re entse mosebetsi o mongata o motle lintlheng tse ngata, ho kenyelletsa le ho ntlafatsa JVM le meralo e mengata. E 'ngoe ea likarolo tsa Quarkus e khahlileng thahasello e ntseng e eketseha ho tsoa ho bahlahisi ke mokhoa oa eona o felletseng, o se nang moeli oa ho fetolela khoutu ea Java hore e be lifaele tse sebetsang bakeng sa sistimi e itseng ea ts'ebetso (e bitsoang "native compilation"), e ts'oanang le C le C ++, moo pokello e joalo. hangata e etsahala qetellong ea potoloho ea ho haha, teko, le ho tsamaisoa.

Mme leha ho bokelloa ha matsoalloa ho le bohlokoa, joalo ka ha re tla bonts'a ka tlase, ho lokela ho hlokomeloa hore Quarkus e sebetsa hantle haholo mochining o tloaelehileng oa Java, OpenJDK Hotspot, ka lebaka la ntlafatso ea ts'ebetso eo re e kentseng ts'ebetsong ho pholletsa le stack. Ka hona, pokello ea matsoalloa e lokela ho nkuoa e le bonase e eketsehileng e ka sebelisoang ha ho hlokahala kapa ho hlokahala. Ebile, Quarkus e itšetleha haholo ka OpenJDK ha ho tluoa litšoantšong tsa matsoalloa. 'Me mokhoa oa dev, o amoheloang ka mofuthu ke bahlahisi, o netefatsa tlhahlobo ea hang-hang ea liphetoho ka lebaka la bokhoni bo tsoetseng pele ba ts'ebetso e matla ea khoutu e kentsoeng Hotspot. Ntle le moo, ha ho etsoa litšoantšo tsa GraalVM tsa khale, ho sebelisoa laeborari ea sehlopha sa OpenJDK le bokhoni ba HotSpot.

Joale ke hobane'ng ha u hloka pokello ea tlhaho haeba ntho e 'ngoe le e' ngoe e se e ntlafalitsoe hantle? Re tla leka ho araba potso ena ka tlase.

Ha re qale ka tse hlakileng: Red Hat e na le boiphihlelo bo pharaletseng ba ho ntlafatsa li-JVM, mekotla le meralo nakong ea nts'etsopele ea projeke. JBoss, ho kenyelletsa:

  • Seva ea pele ea kopo ea ho sebetsa lerung sethaleng RedHat OpenShift.
  • Seva ea pele ea ts'ebeliso ea ho sebetsa likhomphutha Kopanya PC.
  • Seva ea pele ea ts'ebeliso e tla sebetsa Pi ea Raspberry.
  • Letoto la merero e sebetsang ho lisebelisoa Android.

Re ntse re sebetsana le mathata a ho tsamaisa lits'ebetso tsa Java marung le lisebelisoa tse haelloang ke lisebelisoa (bala: IoT) ka lilemo tse ngata mme re ithutile ho fumana molemo o moholo ho JVM mabapi le ts'ebetso le ts'ebetso ea mohopolo. Joalo ka ba bang ba bangata, esale re sebetsa le pokello ea matsoalloa a Java ka nako e telele G.C.J., Avian, Excelsior JET esita le Dalvik 'me re tseba hantle ka melemo le mathata a mokhoa ona (mohlala, bothata ba ho khetha pakeng tsa bokahohle ba "build once - run-where" le taba ea hore likopo tse hlophisitsoeng li nyenyane ebile li sebetsa ka potlako).

Ke hobane'ng ha e le habohlokoa ho nahana ka melemo le likotsi tsee? Hobane maemong a mang karo-karolelano ea bona e ba ea bohlokoa:

  • Ka mohlala, libakeng tse se nang seva / tse tsamaisoang ke liketsahalo moo litšebeletso li tlameha ho qala feela ka nako (e thata kapa e bonolo) bakeng sa ho ba le nako ea ho arabela liketsahalong. Ho fapana le lits'ebeletso tse phehellang tsa nako e telele, mona nako ea ho qala ha serame e eketsa haholo nako ea karabo ho kopo. JVM e ntse e nka nako e ngata ho qala, 'me le hoja sena se ka fokotsoa maemong a mang ka mekhoa e hloekileng ea hardware, phapang pakeng tsa motsotsoana o le mong le 5 milliseconds e ka ba phapang pakeng tsa bophelo le lefu. Ee, mona o ka bapala ka ho theha polokelo e chesang ea mechini ea Java (eo, mohlala, re e entseng ka eona. ho tsamaisa OpenWhisk ho Knative), empa sena ka bosona ha se tiise hore ho tla ba le li-JVM tse lekaneng ho sebetsana le likopo e le sekala sa mojaro. 'Me ho ea ka pono ea moruo, mohlomong ena hase khetho e nepahetseng ka ho fetisisa.
  • Ho feta moo, ho na le tšobotsi e 'ngoe e atisang ho hlaha: multitenancy. Leha taba ea hore li-JVM li atametse haufi haholo le lits'ebetso tsa ts'ebetso ka bokhoni ba tsona, li ntse li sa khone ho etsa seo re se tloaetseng ho Linux - lits'ebetso tse ikhethileng. Ka hona, ho hloleha ha khoele e le 'ngoe ho ka theola mochini oohle oa Java. Batho ba bangata ba leka ho pota-pota tšitiso ena ka ho fana ka JVM e fapaneng bakeng sa ts'ebeliso ea mosebelisi e mong le e mong e le ho fokotsa litlamorao tsa ho se atlehe. Sena sea utloahala, empa ha se lumellane hantle le sekala.
  • Ho feta moo, bakeng sa lits'ebetso tse shebaneng le maru, sesupo sa bohlokoa ke bongata ba lits'ebeletso ho moamoheli. Phetoho ho mokhoa 12 lintlha tsa kopo, microservices le Kubernetes e eketsa palo ea mechini ea Java ka kopo ka 'ngoe. Ke hore, ka lehlakoreng le leng, sena sohle se fana ka elasticity le ho tšepahala, empa ka nako e ts'oanang ts'ebeliso ea memori ea motheo mabapi le ts'ebeletso e boetse e eketseha, 'me tse ling tsa litšenyehelo tsena ha li hlokehe kamehla. Lifaele tse sebetsang hantle tse hlophisitsoeng li rua molemo mona ka lebaka la mekhoa e fapaneng ea ntlafatso, joalo ka ho felisoa ha khoutu e shoeleng ea boemo bo tlase, ha setšoantšo sa ho qetela se kenyelletsa likarolo tseo feela tsa meralo (ho kenyeletsoa le JDK ka boeona) eo e hlileng e sebelisoang ke ts'ebeletso. Ka hona, pokello ea matsoalloa a Quarkus e thusa ho beha maemo a ts'ebeletso ho moamoheli ntle le ho senya ts'ireletso.

Haele hantle, likhang tse ka holimo li se li lekane ho utloisisa tokafatso ea pokello ea matsoalloa ho latela pono ea barupeluoa ba projeke ea Quarkus. Leha ho le joalo, ho na le lebaka le leng, leo e seng la tekheniki, empa hape le bohlokoa: lilemong tsa morao tjena, baetsi ba mananeo le lik'hamphani tse ngata tsa nts'etsopele ba lahlile Java molemong oa lipuo tse ncha tsa lenaneo, ba lumela hore Java, hammoho le li-JVM tsa eona, mekotla le meralo, li fetohile haholo. ba lapetseng mohopolo, butle haholo, joalo-joalo.

Leha ho le joalo, tloaelo ea ho sebelisa sesebelisoa se tšoanang ho rarolla bothata leha e le bofe ke ha se hantle kamehla. Ka linako tse ling ho molemo ho khutlela morao 'me u batle ntho e' ngoe hape. 'Me haeba Quarkus e etsa hore batho ba eme hanyenyane 'me ba nahane, seo se molemo bakeng sa tikoloho eohle ea Java. Quarkus e emela pono e ncha ea mokhoa oa ho aha lits'ebetso tse sebetsang hantle, ho etsa hore Java e sebetse haholoanyane ho meaho e mecha ea lits'ebetso joalo ka e se nang seva. Ntle le moo, ka lebaka la ho atolosoa ha eona, Quarkus ka tšepo e tla ba le tikoloho eohle ea likeketso tsa Java, e eketsa haholo palo ea meralo e tla ts'ehetsa ho bokelloa ha tlhaho lits'ebetsong tse tsoang lebokoseng.

Source: www.habr.com

Eketsa ka tlhaloso