Berhevoka xwecihî li Quarkus - çima ew girîng e

Silav hemû! Ev posta duyemîn e di rêzenivîsa me de li ser Quarkus - îro em ê li ser berhevkirina xwemalî biaxivin.

Berhevoka xwecihî li Quarkus - çima ew girîng e

quarkus stackek Java ye ku ji bo hatî çêkirin Kubernetes. Digel ku bê guman gelek tiştên din hene ku em li vir bikin, me li ser gelek aliyan de gelek karên baş kirine, di nav de xweşbînkirina JVM û hejmarek çarçove. Yek ji taybetmendiyên Quarkus-ê ku eleqeyek zêde ji pêşdebiran re kişandiye ev e ku nêzîkatiya wê ya berfireh û bêkêmasî ye ku koda Java-yê vediguherîne pelên îcrakar ên ji bo pergalek xebitandinê ya taybetî (ku jê re "berhevkirina xwemalî" tê gotin), mîna C û C++, ku berhevkirina wusa ye. bi gelemperî di dawiya qonaxek çêkirin, ceribandin û bicîhkirinê de pêk tê.

Û dema ku berhevkirina xwemalî girîng e, wekî ku em ê li jêr destnîşan bikin, divê were zanîn ku Quarkus bi rastî li ser makîneya Java ya herî gelemperî, OpenJDK Hotspot, baş dimeşîne, spas ji ber pêşkeftinên performansê yên ku me li seranserê stakê bicîh kirine. Ji ber vê yekê, berhevoka xwecihî divê wekî bonusek zêde were hesibandin ku dikare wekî ku tê xwestin an jî pêdivî ye were bikar anîn. Bi rastî, Quarkus bi giranî xwe dispêre OpenJDK gava ku ew tê ser wêneyên xwecî. Û moda dev, ku ji hêla pêşdebiran ve bi germî tête pejirandin, ji ber kapasîteyên pêşkeftî yên darvekirina koda dînamîkî ya ku li Hotspot-ê hatî bicîh kirin, hema hema tavilê ceribandina guhertinan misoger dike. Wekî din, dema afirandina wêneyên xwemalî yên GraalVM, pirtûkxaneya pola OpenJDK û kapasîteyên HotSpot têne bikar anîn.

Ji ber vê yekê hûn çima hewceyê berhevkirina xwemalî ne heke her tişt jixwe bi rengek bêkêmasî xweşbîn e? Em ê hewl bidin ku li jêr bersiva vê pirsê bidin.

Ka em bi eşkere dest pê bikin: Red Hat di dema pêşkeftina projeyê de xwedan ezmûnek berfireh e ku JVM, stûn û çarçove xweşbîn dike. JBoss, di nav de:

  • Pêşkêşkara serîlêdanê ya yekem ku di ewr de li ser platformê dixebite Red Hat OpenShift.
  • Pêşkêşkara serîlêdanê ya yekem ji bo xebitandina li ser komputeran Plug PC.
  • Pêşkêşkara serîlêdanê ya yekem ku li ser dimeşe Raspberry Pi.
  • Rêjeyek projeyên ku li ser cîhazan têne xebitandin Android.

Em bi gelek salan bi kêşeyên xebitandina sepanên Java-yê di ewr de û li ser cîhazên bi çavkanî (bixwîne: IoT) re mijûl bûne û fêr bûne ku di warê performans û xweşbîniya bîranînê de herî zêde ji JVM-ê bistînin. Mîna gelekên din, em bi berhevkirina xwemalî ya sepanên Java-yê demek dirêj ve dixebitin G.C.J., balafir, Excelsior JET û heta Dalvik û em baş ji başî û nerênî yên vê nêzîkatiyê dizanin (mînak, dubendiya hilbijartina di navbera gerdûnîbûna "carekê ava bike - li her deverê" û rastiya ku sepanên berhevkirî piçûktir in û zûtir dimeşin).

Çima girîng e ku meriv van erênî û neyînîyan binirxîne? Ji ber ku di hin rewşan de rêjeya wan diyarker dibe:

  • Mînakî, di hawîrdorên bê server / bûyer-rêveber de ku karûbar bi tenê pêdivî ye ku dest pê bike di dema rast (zehmet an nerm) de ji bo ku wext hebe ku bersiva bûyeran bide. Berevajî karûbarên domdar ên demdirêj, li vir dirêjahiya destpêkek sar bi rengek rexneyî dema bersivdana daxwazek zêde dike. JVM hîn jî demek girîng digire da ku dest pê bike, û her çend ev di hin rewşan de bi rêbazên safî yên hardware ve were kêm kirin, cûdahiya di navbera yek saniye û 5 milîsaniyeyan de dikare cûdahiya jiyan û mirinê be. Erê, li vir hûn dikarin bi afirandina rezervek germ a makîneyên Java-yê (ya ku, wek nimûne, me bi veguheztina OpenWhisk bo Knative), lê ev bi xwe garantî nake ku dê JVM-yên têr hebin ku wekî pîvana barkirinê serlêdanan bikin. Û ji hêla aborî ve, ev belkî ne vebijarka herî rast e.
  • Wekî din, aliyek din jî heye ku pir caran derdikeve holê: pirzimanî. Digel vê yekê ku JVM di kapasîteyên xwe de pir nêzikî pergalên xebitandinê bûne, ew hîn jî nekarin tiştê ku em di Linux-ê de ew qas jê aciz in bikin - pêvajoyên veqetandinê. Ji ber vê yekê, têkçûna yek mijarê dikare tevahiya makîneya Java-ê hilweşîne. Pir kes hewl didin ku li dora vê kêmasiyê bigerin û JVMyek cihêreng ji bo serîlêdana her bikarhêner veqetînin da ku encamên têkçûnê kêm bikin. Ev pir mentiqî ye, lê bi pîvandinê re baş nayê hev.
  • Wekî din, ji bo serîlêdanên ewr-oriented, nîşanek girîng tîrbûna karûbarên li ser mêvandar e. Veguherîna metodolojiyê 12 faktorên serîlêdanê, microservices û Kubernetes hejmara makîneyên Java li ser serîlêdanê zêde dike. Ango, ji aliyekî ve, ev hemî elastîk û pêbaweriyê peyda dike, lê di heman demê de vexwarina bîranîna bingehîn di warê karûbarê de jî zêde dibe, û hin ji van lêçûn her gav ne hewce ne. Pelên darvekirî yên statîk hatine berhev kirin li vir sûd werdigirin ji ber cûrbecûr teknîkên xweşbîniyê, wek mînak rakirina koda mirî-asta nizm, dema ku wêneya paşîn tenê wan beşên çarçove (di nav de JDK bixwe) ku karûbar bi rastî bikar tîne vedihewîne. Ji ber vê yekê, berhevoka xwecihî ya Quarkus arîkar dike ku mînakên karûbarê bi dorfirehî li ser mêvandar bi cîh bike bêyî ku ewlehiyê têk bibe.

Bi rastî, argumanên jorîn jixwe têr in ku meriv rastdariya berhevkirina xwemalî ji nihêrîna beşdarên projeya Quarkus fêm bike. Lêbelê, sedemek din, ne-teknîkî, lê di heman demê de girîng jî heye: di van salên dawî de, gelek bernamenûs û pargîdaniyên pêşdebiran Java dev ji zimanên bernamenûsê yên nû berdane, û di wê baweriyê de ne ku Java, ligel JVM, stûn û çarçoweyên xwe jî bûye. birçî bîranîn, pir hêdî, hwd.

Lêbelê, adeta karanîna heman amûrê ji bo çareserkirina her pirsgirêkê ye her gav ne rast e. Carinan çêtir e ku meriv gavekê paşde bavêje û li tiştekî din bigere. Û heke Quarkus mirovan dike ku bisekine û bifikire, wê hingê ew ji bo tevahiya ekosîstema Java-yê baş e. Quarkus nêrînek nûjen nîşan dide ka meriv çawa serîlêdanên bikêrtir ava dike, Java-yê bi mîmariyên serîlêdana nû yên mîna bê server re têkildartir dike. Wekî din, ji ber berfirehbûna wê, Quarkus dê hêvîdar be ku xwedan ekosîstemek tevahî ya dirêjkirina Java-yê be, bi girîngî hejmara çarçoveyên ku dê di serîlêdanên derveyî qutiyê de berhevkirina xwemalî piştgirî bikin zêde bike.

Source: www.habr.com

Add a comment