የአገልግሎት ሜሽ ምንድን ነው?

እና ሰላም በድጋሚ!... የትምህርቱን መጀመር በመጠባበቅ ላይ "የሶፍትዌር አርክቴክት" ሌላ ጠቃሚ ትርጉም አዘጋጅተናል.

የአገልግሎት ሜሽ ምንድን ነው?

ሰርቪስ ሜሽ በመተግበሪያ ፕሮግራሚንግ በይነገጽ (ኤፒአይኤስ) መካከል ከፍተኛ መጠን ያለው የአውታረ መረብ ኢንተር-ሂደት ግንኙነቶችን ለማስተናገድ የሚያስፈልገው ዝቅተኛ መዘግየት፣ ሊዋቀር የሚችል የመሠረተ ልማት ንብርብር ነው። የአገልግሎት ሜሽ በኮንቴይነር በተያዙ እና ብዙ ጊዜ ጊዜያዊ የመተግበሪያ መሠረተ ልማት አገልግሎቶች መካከል ፈጣን፣ አስተማማኝ እና ደህንነቱ የተጠበቀ ግንኙነት ያቀርባል። የአገልግሎት ሜሽ እንደ የአገልግሎት ግኝት፣ ጭነት ማመጣጠን፣ ምስጠራ፣ ግልጽነት፣ ክትትል፣ ማረጋገጥ እና ፍቃድ እና ለራስ-ሰር የመዝጋት ስርዓተ-ጥለት ድጋፍን የመሳሰሉ ባህሪያትን ያቀርባል (ቆጣሪ).
የአገልግሎት ሜሽ በተለምዶ የሚተገበረው ለእያንዳንዱ የአገልግሎት ምሳሌ የተኪ ምሳሌ በማቅረብ ነው። የጎን መኪና. የጎን መኪና በአገልግሎቶች መካከል ግንኙነቶችን ማስተናገድ ፣ የደህንነት ጉዳዮችን መከታተል እና ማስተካከል ፣ ማለትም ፣ ከግል አገልግሎቶች ሊገለሉ የሚችሉትን ሁሉ ። ስለዚህ፣ ገንቢዎች በአገልግሎቶች ውስጥ የመተግበሪያ ኮድ መጻፍ፣ ማቆየት እና ማቆየት ይችላሉ፣ እና የስርዓት አስተዳዳሪዎች ከአገልግሎት ሜሽ ጋር አብረው በመስራት መተግበሪያውን ማስኬድ ይችላሉ።

ኢስቲዮ፣ ከGoogle፣ IBM እና Lyft፣ በአሁኑ ጊዜ በጣም ታዋቂው የአገልግሎት ሜሽ አርክቴክቸር ነው። እና ኩበርኔትስ፣ በመጀመሪያ በGoogle የተሰራ፣ አሁን በኢስቲዮ የሚደገፍ ብቸኛው የመያዣ ኦርኬስትራ ማዕቀፍ ነው። ሻጮች በንግድ የሚደገፉ የኢስቲዮ ስሪቶችን ለመፍጠር እየሞከሩ ነው። ወደ ክፍት ምንጭ ፕሮጀክት ምን አዲስ ነገር ማምጣት እንደሚችሉ አስባለሁ።

ይሁን እንጂ ሌሎች የአገልግሎት ሜሽ አተገባበር እየተዘጋጀ በመሆኑ ኢስቲዮ ብቸኛው አማራጭ አይደለም። ስርዓተ-ጥለት sidecar proxy ከ Buoyant, HashiCorp, Solo.io እና ሌሎች ፕሮጀክቶች እንደሚታየው በጣም ታዋቂው ትግበራ ነው. አማራጭ አርክቴክቸርም አለ፡ የኔትፍሊክስ ቴክኖሎጂ መሳሪያ ኪት የአገልግሎት ሜሽ ተግባር በሪባን፣ ሃይስቴሪክስ፣ ዩሬካ፣ አርካይየስ ቤተ መፃህፍት እንዲሁም እንደ Azure Service Fabric ባሉ መድረኮች ከሚተገበርባቸው አቀራረቦች አንዱ ነው።

የአገልግሎት ሜሽ ለአገልግሎት ክፍሎች እና ተግባራት የራሱ የቃላት አገባብ አለው፡-

  • የመያዣ ኦርኬስትራ ማዕቀፍ. ብዙ እና ተጨማሪ ኮንቴይነሮች ወደ ትግበራ መሠረተ ልማት ሲጨመሩ, መያዣዎችን ለመቆጣጠር እና ለማስተዳደር የተለየ መሳሪያ ያስፈልጋል - የእቃ መጫኛ ኦርኬስትራ ማዕቀፍ. ኩበርኔትስ ይህንን ቦታ አጥብቆ ወስዷል፣ ስለዚህም ዋና ተፎካካሪዎቹ Docker Swarm እና Mesosphere DC/OS እንኳን ከኩበርኔትስ ጋር ውህደትን እንደ አማራጭ ያቀርባሉ።
  • አገልግሎቶች እና ምሳሌዎች (Kubernetes Pods). ለምሳሌ የአንድ የማይክሮ አገልግሎት ነጠላ አሂድ ቅጂ ነው። አንዳንድ ጊዜ አንድ ምሳሌ አንድ መያዣ ነው. በኩበርኔትስ ውስጥ አንድ ምሳሌ ፖድ ተብሎ የሚጠራ አነስተኛ ቡድን ገለልተኛ ኮንቴይነሮችን ያካትታል። ደንበኞች አንድን ምሳሌ ወይም ፖድ በቀጥታ ማግኘት አይችሉም፣ ብዙ ጊዜ አገልግሎትን ያገኛሉ፣ እሱም ተመሳሳይ፣ ሊለኩ የሚችሉ እና ስህተትን የሚታገሱ አጋጣሚዎች ወይም ፖድ (ቅጂዎች) ስብስብ ነው።
  • Sidecar Proxy. Sidecar Proxy በአንድ ምሳሌ ወይም ፖድ ይሰራል። የሲዴካር ፕሮክሲ አላማ ከሚሰራበት ኮንቴይነር የሚመጣውን ትራፊክ መምራት ወይም ተኪ ማድረግ እና ትራፊክን መመለስ ነው። Sidecar ከሌሎች የሲዲካር ፕሮክሲዎች ጋር ይገናኛል እና በኦርኬስትራ ማዕቀፍ ቁጥጥር ስር ነው። ብዙ የሰርቪስ ሜሽ አተገባበር ሁሉንም ከአብነት ወይም ከፖድ ውጪ ትራፊክ ለመጥለፍ እና ለማስተዳደር የሲዲካር ፕሮክሲን ይጠቀማሉ።
  • የአገልግሎት ግኝት. አንድ ምሳሌ ከሌላ አገልግሎት ጋር መገናኘት ሲፈልግ፣ የሌላውን አገልግሎት ጤናማ እና የሚገኝ ምሳሌ ማግኘት (ማግኘት) ያስፈልገዋል። በተለምዶ፣ ምሳሌው የዲ ኤን ኤስ ፍለጋዎችን ያከናውናል። የኮንቴይነር ኦርኬስትራ ማዕቀፍ ጥያቄዎችን ለመቀበል ዝግጁ የሆኑ እና ለዲ ኤን ኤስ መጠይቆች በይነገጽ የሚያቀርብ የአብነት ዝርዝር ይይዛል።
  • ጭነት ማመጣጠን. አብዛኛዎቹ የእቃ መያዢያ ኦርኬስትራ ማዕቀፎች በንብርብር 4 (ትራንስፖርት) ላይ የጭነት ሚዛን ይሰጣሉ። ሰርቪስ ሜሽ የበለጠ የተራቀቀ ንብርብር 7 (መተግበሪያ) ጭነት ማመጣጠንን፣ በአልጎሪዝም የበለፀገ እና በትራፊክ አያያዝ ረገድ የበለጠ ቀልጣፋን ተግባራዊ ያደርጋል። የጭነት ማመጣጠን ቅንጅቶች ኤፒአይን በመጠቀም ሊቀየሩ ይችላሉ፣ ይህም ሰማያዊ አረንጓዴ ወይም ካናሪ ማሰማራትን እንዲያቀናብሩ ያስችልዎታል።
  • ምስጠራ. የአገልግሎት Mesh ጥያቄዎችን እና ምላሾችን ማመስጠር እና ዲክሪፕት ማድረግ ይችላል፣ይህን ሸክም ከአገልግሎቶች ያስወግዳል። የአገልግሎት ሜሽ እንዲሁ አዳዲስ ግንኙነቶችን ለመፍጠር ውድ ስሌትን አስፈላጊነት የሚቀንስ ነባር ቀጣይ ግንኙነቶችን ቅድሚያ በመስጠት ወይም እንደገና በመጠቀም አፈፃፀሙን ያሻሽላል። በጣም የተለመደው የትራፊክ ምስጠራ አተገባበር ነው። የጋራ TLS (mTLS)የህዝብ ቁልፍ መሠረተ ልማት (PKI) ለሲድካር ፕሮክሲ አገልግሎት የሚውሉ የምስክር ወረቀቶችን እና ቁልፎችን የሚያመነጭ እና የሚያሰራጭበት።
  • ማረጋገጫ እና ፍቃድ. የአገልግሎት Mesh ከውጪ ወይም ከመተግበሪያው ውስጥ የሚቀርቡ ጥያቄዎችን መፍቀድ እና ማረጋገጥ ይችላል፣ የተረጋገጡ ጥያቄዎችን ወደ አጋጣሚዎች ብቻ በመላክ።
  • ስርዓተ-ጥለትን በራስ-ሰር ኃይልን ይደግፉ. የአገልግሎት Mesh ድጋፎች ራስ-ሰር የመዝጋት ንድፍ, ይህም ጤናማ ያልሆኑ ሁኔታዎችን የሚለይ እና ከዚያም እንደ አስፈላጊነቱ ቀስ በቀስ ወደ ጤናማ ሁኔታዎች ገንዳ ይመልሳቸዋል.

በአጋጣሚዎች መካከል የአውታረ መረብ ትራፊክን የሚያስተዳድር የአገልግሎት ሜሽ መተግበሪያ አካል ይባላል የውሂብ አውሮፕላን. ባህሪን የሚቆጣጠር ውቅረት ይፍጠሩ እና ያሰማሩ የውሂብ አውሮፕላን, በተለየ በመጠቀም ይከናወናል የመቆጣጠሪያ አውሮፕላን. የመቆጣጠሪያ አውሮፕላን አፕሊኬሽኑን ለመቆጣጠር ብዙውን ጊዜ ከኤፒአይ፣ CLI ወይም GUI ጋር ለመገናኘት የተነደፈ ነው።

የአገልግሎት ሜሽ ምንድን ነው?
በአገልግሎት ሜሽ ውስጥ ያለው የቁጥጥር አውሮፕላን በ Sidecar Proxy እና በዳታ አውሮፕላን መካከል ያለውን ውቅር ያሰራጫል።

ብዙውን ጊዜ የሰርቪስ ሜሽ አርክቴክቸር ኮንቴይነሮችን እና ማይክሮ ሰርቪስን በመጠቀም ውስብስብ የአሠራር ችግሮችን ለመፍታት ይጠቅማል። በመስክ ውስጥ አቅኚዎች ጥቃቅን አገልግሎቶች በዓለም ዙሪያ ላሉ በሚሊዮን ለሚቆጠሩ ተጠቃሚዎች የተረጋጋ አገልግሎት የሚሰጡ እንደ Lyft፣ Netflix እና Twitter ያሉ ኩባንያዎች ናቸው። (ኔትፍሊክስ ያጋጠሙትን አንዳንድ የሕንፃ ተግዳሮቶች ዝርዝር መግለጫ ለማግኘት እዚህ ጠቅ ያድርጉ።). ለአነስተኛ ፍላጎት አፕሊኬሽኖች ቀላል አርክቴክቸር በቂ ሊሆን ይችላል።

የአገልግሎት ሜሽ አርክቴክቸር ከመተግበሪያዎች አሠራር እና ከአቅርቦታቸው ጋር ለተያያዙ ጥያቄዎች ሁሉ መልስ የመሆን ዕድሉ አነስተኛ ነው። አርክቴክቶች እና ገንቢዎች እጅግ በጣም ብዙ የመሳሪያዎች ስብስብ አላቸው, እና ከመካከላቸው አንዱ መዶሻ ብቻ ነው, ከብዙ ተግባራት መካከል, አንድ ነገር ብቻ መፍታት አለበት - ምስማሮችን መዶሻ. የማይክሮ አገልግሎት ማጣቀሻ አርክቴክቸር በNGINXለምሳሌ ማይክሮ አገልገሎትን በመጠቀም ችግሮችን ለመፍታት ተከታታይ አቀራረቦችን የሚያቀርቡ በርካታ የተለያዩ ሞዴሎችን ያካትታል።

እንደ NGINX፣ ኮንቴይነሮች፣ ኩበርኔትስ እና ማይክሮ ሰርቪስ እንደ ስነ-ህንፃ አቀራረብ ያሉ በአገልግሎት ሜሽ አርክቴክቸር ውስጥ የሚሰባሰቡ ንጥረ ነገሮች ልክ የአገልግሎት ባልሆኑ Mesh ትግበራዎች ላይ ውጤታማ በሆነ መንገድ ጥቅም ላይ ሊውሉ ይችላሉ። ለምሳሌ፣ ኢስቲዮ የተነደፈው እንደ ሙሉ የአገልግሎት ሜሽ አርክቴክቸር ነው፣ ነገር ግን ሞዱላሪቲው ገንቢዎች የሚያስፈልጋቸውን የቴክኖሎጂ ክፍሎች ብቻ መምረጥ እና መተግበር ይችላሉ። ይህንን ከግምት ውስጥ በማስገባት፣ በማመልከቻው ውስጥ ሙሉ በሙሉ መተግበር እንደሚችሉ እርግጠኛ ባይሆኑም ስለ ሰርቪስ ሜሽ ጽንሰ-ሀሳብ ጠንካራ ግንዛቤን ማዳበር አስፈላጊ ነው።

ሞዱላር ሞኖሊቶች እና ዲዲዲ

ምንጭ: hab.com

አስተያየት ያክሉ