ሰላም ሁላችሁም! ይህ በኳርኩስ ላይ በተከታታይ የምናቀርበው ሁለተኛው ልጥፍ ነው - ዛሬ ስለ ቤተኛ ስብስብ እንነጋገራለን ።
እና ቤተኛ ማጠናቀር አስፈላጊ ቢሆንም፣ ከታች እንደምናሳየው፣ ኳርኩስ በጣም በተለመደው የጃቫ ማሽን ኦፕንጄዲኬ ሆትስፖት ላይ በጥሩ ሁኔታ እንደሚሰራ መታወቅ አለበት፣ ይህም በጥቅሉ ውስጥ ተግባራዊ ስላደረግነው የአፈጻጸም ማሻሻያ ነው። ስለዚህ, ቤተኛ ማጠናቀር እንደ ተጨማሪ ጉርሻ እንደ አስፈላጊነቱ ወይም እንደ አስፈላጊነቱ ጥቅም ላይ ሊውል ይችላል. በእውነቱ፣ ኳርኩስ ወደ ቤተኛ ምስሎች ሲመጣ በOpenJDK ላይ በእጅጉ ይተማመናል። እና በገንቢዎች ሞቅ ያለ ተቀባይነት ያለው የዴቭ ሁነታ በሆትስፖት ውስጥ በተተገበረው ተለዋዋጭ ኮድ አፈፃፀም የላቀ ችሎታዎች ምክንያት ፈጣን ለውጦችን መሞከርን ያረጋግጣል። በተጨማሪም፣ ቤተኛ GraalVM ምስሎችን ሲፈጥሩ፣ የOpenJDK ክፍል ቤተ-መጽሐፍት እና HotSpot ችሎታዎች ጥቅም ላይ ይውላሉ።
ስለዚህ ሁሉም ነገር በትክክል የተሻሻለ ከሆነ ለምን ቤተኛ ማጠናቀር ያስፈልግዎታል? ይህንን ጥያቄ ከዚህ በታች ለመመለስ እንሞክራለን.
ግልጽ በሆነው ነገር እንጀምር፡ ቀይ ኮፍያ በፕሮጀክት ልማት ወቅት JVMsን፣ ቁልሎችን እና ማዕቀፎችን የማሳደግ ልምድ አለው።
- በመድረኩ ላይ በደመና ውስጥ የሚሰራ የመጀመሪያው የመተግበሪያ አገልጋይ
Red Hat OpenShift . - በኮምፒተር ላይ ለመስራት የመጀመሪያው መተግበሪያ አገልጋይ
ፒሲ ሰካ . - የሚሰራበት የመጀመሪያው የመተግበሪያ አገልጋይ
Raspberry Pi . - በመሳሪያዎች ላይ የሚሰሩ የተለያዩ ፕሮጀክቶች
የ Android .
ለብዙ አመታት የጃቫ አፕሊኬሽኖችን በደመና ውስጥ እና በሃብት-የተከለከሉ መሳሪያዎች (አንብብ፡ አይኦቲ) የማሄድ ተግዳሮቶችን እያስተናገድን ቆይተናል እና ከ JVM አፈጻጸም እና የማስታወስ ማመቻቸት ምርጡን ለማግኘት ተምረናል። ልክ እንደሌሎች ብዙ፣ ከጃቫ አፕሊኬሽኖች ቤተኛ ማጠናቀር ጋር ለረጅም ጊዜ ስንሰራ ቆይተናል
እነዚህን ጥቅሞች እና ጉዳቶች ግምት ውስጥ ማስገባት ለምን አስፈላጊ ነው? ምክንያቱም በአንዳንድ ሁኔታዎች ጥምርታቸው ወሳኝ ይሆናል፡-
- ለምሳሌ፣ አገልጋይ በሌለው/በክስተት በሚመሩ አካባቢዎች ውስጥ
አገልግሎቶች በቀላሉ መጀመር አለባቸው ለክስተቶች ምላሽ ለመስጠት ጊዜ ለማግኘት (በከባድ ወይም ለስላሳ) በእውነተኛ ጊዜ። ከረጅም ጊዜ ዘላቂ አገልግሎቶች በተለየ፣ እዚህ ቀዝቃዛ ጅምር የሚቆይበት ጊዜ ለጥያቄው የምላሽ ጊዜን በከፍተኛ ሁኔታ ይጨምራል። JVM ለመጀመር አሁንም ከፍተኛ መጠን ያለው ጊዜ ይወስዳል, እና ይህ በአንዳንድ ሁኔታዎች በንጹህ ሃርድዌር ዘዴዎች ሊቀንስ ይችላል, በአንድ ሰከንድ እና በ 5 ሚሊሰከንዶች መካከል ያለው ልዩነት በህይወት እና በሞት መካከል ያለው ልዩነት ሊሆን ይችላል. አዎ፣ እዚህ የጃቫ ማሽኖችን ትኩስ መጠባበቂያ በመፍጠር ዙሪያ መጫወት ትችላለህ (ለምሳሌ እኛ ያደረግነውOpenWhisk ወደ Knative በማጓጓዝ ላይ ), ነገር ግን ይህ በራሱ እንደ ጭነት ሚዛን ጥያቄዎችን ለማስኬድ በቂ JVMs መኖራቸውን አያረጋግጥም። እና ከኢኮኖሚያዊ እይታ አንጻር ይህ ምናልባት በጣም ትክክለኛው አማራጭ አይደለም. - በመቀጠል, ብዙ ጊዜ ብቅ ያለ ሌላ ገጽታ አለ: ብዙ ጊዜ. ምንም እንኳን JVM በችሎታቸው ወደ ኦፕሬቲንግ ሲስተሞች በጣም ቅርብ ቢሆኑም አሁንም በሊኑክስ ውስጥ የለመድነውን - የማግለል ሂደቶችን ማድረግ አይችሉም ። ስለዚህ, የአንድ ክር ውድቀት ሙሉውን የጃቫ ማሽን ሊያወርድ ይችላል. ብዙ ሰዎች የውድቀት መዘዞችን ለመቀነስ ለእያንዳንዱ ተጠቃሚ የተለየ JVM በመመደብ ይህንን ችግር ለመፍታት ይሞክራሉ። ይህ በጣም አመክንዮአዊ ነው, ነገር ግን ከመጠኑ ጋር በደንብ አይጣጣምም.
- በተጨማሪም፣ ለደመና-ተኮር አፕሊኬሽኖች፣ አስፈላጊ አመላካች በአስተናጋጁ ላይ ያለው የአገልግሎት ጥግግት ነው። ወደ ዘዴ ሽግግር
12 የመተግበሪያ ምክንያቶች ፣ ማይክሮ ሰርቪስ እና ኩበርኔትስ በአንድ መተግበሪያ የጃቫ ማሽኖችን ቁጥር ይጨምራል። ያም ማለት በአንድ በኩል, ይህ ሁሉ የመለጠጥ እና አስተማማኝነት ያቀርባል, ነገር ግን በተመሳሳይ ጊዜ የመሠረታዊ ማህደረ ትውስታ ፍጆታ ከአገልግሎት አንፃር ይጨምራል, እና ከእነዚህ ወጪዎች ውስጥ አንዳንዶቹ ሁልጊዜ አስፈላጊ አይደሉም. የመጨረሻው ምስል አገልግሎቱ በትክክል የሚጠቀምባቸውን የማዕቀፎችን ክፍሎች (JDKን ጨምሮ) ብቻ ሲያካትት በስታቲስቲክስ የተጠናቀሩ ተፈጻሚነት ያላቸው ፋይሎች በተለያዩ የማመቻቸት ቴክኒኮች እንደ ዝቅተኛ ደረጃ የሞተ ኮድ መጥፋት ጥቅም ያገኛሉ። ስለዚህ፣ የኳርኩስ ቤተኛ ስብስብ ደህንነትን ሳይጎዳ የአገልግሎት አጋጣሚዎችን በአስተናጋጁ ላይ ለማስቀመጥ ይረዳል።
እንደ እውነቱ ከሆነ፣ ከላይ ያሉት ክርክሮች ከኳርኩስ የፕሮጀክት ተሳታፊዎች እይታ አንጻር የአገሬውን ስብስብ ትክክለኛነት ለመረዳት ቀድሞውኑ በቂ ናቸው። ሆኖም ፣ ሌላ ፣ ቴክኒካዊ ያልሆነ ፣ ግን ደግሞ ጠቃሚ ምክንያት አለ-በቅርብ ዓመታት ውስጥ ፣ ብዙ ፕሮግራመሮች እና የልማት ኩባንያዎች ጃቫን ለአዳዲስ የፕሮግራም ቋንቋዎች በመደገፍ ጃቫ ከ JVMs ፣ ቁልል እና ማዕቀፎች ጋር በጣም ሆኗል ብለው በማመን ጃቫን ትተዋል ። የማስታወስ-ረሃብ, በጣም ቀርፋፋ, ወዘተ.
ይሁን እንጂ ማንኛውንም ችግር ለመፍታት ተመሳሳይ መሣሪያ የመጠቀም ልማድ ነው
ምንጭ: hab.com