በኩበርኔትስ ውስጥ ደመና FaaSን እንዴት እንደሰራን እና የ Tinkoff hackathon አሸንፈዋል

በኩበርኔትስ ውስጥ ደመና FaaSን እንዴት እንደሰራን እና የ Tinkoff hackathon አሸንፈዋል
ካለፈው አመት ጀምሮ ኩባንያችን ሃክታቶንን ማደራጀት ጀመረ። የመጀመሪያው ውድድር በጣም የተሳካ ነበር, ስለዚህ ጉዳይ ጽፈናል ጽሑፍ. ሁለተኛው hackathon የተካሄደው በየካቲት 2019 ነው እና ብዙም ስኬታማ አልነበረም። ከረጅም ጊዜ በፊት የኋለኛውን ስለመያዝ ግቦች ፃፈ አደራጅ.

ተሳታፊዎቹ ለተግባራዊነቱ የቴክኖሎጂ ቁልል ለመምረጥ ሙሉ ነፃነት ያለው አንድ አስደሳች ተግባር ተሰጥቷቸዋል። በፍጥነት ከትግበራዎች ፍሰት ጋር አብሮ ለመስራት ፣ ከባድ ሸክሞችን ለመቋቋም እና ስርዓቱ ራሱ በቀላሉ ሊሰፋ የሚችል የደንበኞችን የውጤት አሰጣጥ ተግባራትን ለማሰማራት የውሳኔ ሰጪ መድረክን ተግባራዊ ማድረግ አስፈላጊ ነበር።

የተሳታፊዎቹ ፕሮጀክቶች የመጨረሻ አቀራረቦችን በሚያሳዩበት ወቅት እንዳሳመንነው ስራው ቀላል ያልሆነ እና በብዙ መንገዶች ሊፈታ ይችላል. በ hackathon 6 ቡድኖች 5 ሰዎች ነበሩ, ሁሉም ተሳታፊዎች ጥሩ ፕሮጀክቶች ነበሯቸው, ነገር ግን የእኛ መድረክ በጣም ተወዳዳሪ ሆኖ ተገኝቷል. በጣም አስደሳች የሆነ ፕሮጀክት አለን, በዚህ ጽሑፍ ውስጥ ማውራት እፈልጋለሁ.

የእኛ መፍትሔ በ Kubernetes ውስጥ በአገልጋይ አልባ አርክቴክቸር ላይ የተመሰረተ መድረክ ነው፣ ይህም አዳዲስ ባህሪያትን ወደ ምርት ለማምጣት የሚወስደውን ጊዜ ይቀንሳል። ተንታኞች ለእነሱ ምቹ በሆነ አካባቢ ኮድ እንዲጽፉ እና ያለ መሐንዲሶች እና ገንቢዎች ተሳትፎ ወደ ምርት እንዲያሰማሩ ያስችላቸዋል።

ምን እያስመዘገበ ነው።

Tinkoff.ru, ልክ እንደ ብዙ ዘመናዊ ኩባንያዎች, የደንበኛ ውጤት አለው. የውጤት አሰጣጥ በስታቲስቲካዊ የመረጃ ትንተና ዘዴዎች ላይ የተመሰረተ የደንበኛ ግምገማ ስርዓት ነው።

ለምሳሌ, አንድ ደንበኛ ብድር እንዲሰጠው ጥያቄ በማቅረብ ወደ እኛ ዘወር ይላል, ወይም ከእኛ ጋር የግለሰብ ሥራ ፈጣሪ አካውንት ይከፍታል. እኛ እሱን ብድር ለመስጠት እቅድ ከሆነ, ከዚያም የእሱን solvency መገምገም አለብን, እና መለያ ግለሰብ አንተርፕርነር ከሆነ, ከዚያም ደንበኛው የተጭበረበሩ ግብይቶችን ለማካሄድ አይደለም መሆኑን እርግጠኛ መሆን አለብን.

እንደዚህ አይነት ውሳኔዎችን ለማድረግ መሰረቱ ሁለቱንም ከመተግበሪያው የሚገኘውን መረጃ እና ከማከማቻችን የሚገኘውን መረጃ የሚተነትኑ የሂሳብ ሞዴሎች ናቸው። ነጥብ ከማስቆጠር በተጨማሪ ለደንበኞቻችን ለአዳዲስ ምርቶች የግለሰብ ምክሮችን በማመንጨት ተመሳሳይ የስታቲስቲክስ ዘዴዎችን መጠቀም ይቻላል.

የዚህ ዓይነቱ ግምገማ ዘዴ የተለያዩ የግብአት መረጃዎችን መቀበል ይችላል. እና አንዳንድ ጊዜ በመግቢያው ላይ አዲስ ግቤት መጨመር እንችላለን, ይህም በታሪካዊ መረጃ ላይ በመተንተን ውጤቶች ላይ በመመስረት, አገልግሎቱን የመጠቀምን የልወጣ መጠን ይጨምራል.

ስለ ደንበኛ ግንኙነት ብዙ መረጃዎችን እንይዛለን፣ እና የዚህ መረጃ መጠን ያለማቋረጥ እያደገ ነው። ውጤት ለማስመዝገብ እንዲሰራ፣ ዳታ ማቀናበር እንዲሁም ማመልከቻን ማን እንደሚያፀድቅ፣ ማን እምቢ እንደሚል እና ተጨማሪ ምርቶችን ማን እንደሚያቀርብ በፍጥነት እንዲወስኑ የሚያስችልዎ ህጎችን (ወይም የሂሳብ ሞዴሎችን) ይፈልጋል።

ለተያዘው ተግባር, ቀደም ሲል ልዩ የውሳኔ አሰጣጥ ስርዓት እንጠቀማለን IBM WebSphere ILOG JRules BRMS, ይህም, በተንታኞች, ቴክኖሎጂስቶች እና ገንቢዎች በተቀመጡት ደንቦች ላይ በመመስረት, ለደንበኛው የተወሰነ የባንክ ምርት ማጽደቅ ወይም መከልከልን ይወስናል.

በገበያ ላይ ብዙ የተዘጋጁ መፍትሄዎች አሉ, ሁለቱም የውጤት ሞዴሎች እና የውሳኔ አሰጣጥ ስርዓቶች እራሳቸው. በኩባንያችን ውስጥ ከእነዚህ ስርዓቶች ውስጥ አንዱን እንጠቀማለን. ነገር ግን ንግዱ እያደገ ነው, የተለያዩ, የደንበኞች ብዛት እና የቀረቡት ምርቶች ብዛት እየጨመረ ነው, እና ከዚህ ጋር, አሁን ያለውን የውሳኔ አሰጣጥ ሂደት እንዴት ማሻሻል እንደሚቻል ሀሳቦች እየወጡ ነው. በእርግጥ አሁን ካለው ስርዓት ጋር የሚሰሩ ሰዎች ቀላል፣ የተሻለ፣ ምቹ ለማድረግ ብዙ ሃሳቦች አሏቸው ነገርግን አንዳንድ ጊዜ ከውጭ የሚመጡ ሀሳቦች ጠቃሚ ናቸው። አዲሱ ሃካቶን የተደራጀው ዓላማው ጤናማ ሀሳቦችን ለመሰብሰብ ነው።

ተግባር

የ hackathon የካቲት 23 ተካሂዷል። ተሳታፊዎቹ የውጊያ ተግባር ተሰጥቷቸዋል፡- በርካታ ሁኔታዎችን የሚያሟላ የውሳኔ አሰጣጥ ስርዓትን ለማዳበር።

አሁን ያለው ስርዓት እንዴት እንደሚሰራ እና በሚሰራበት ጊዜ ምን ችግሮች እንደሚነሱ እንዲሁም የተገነባው መድረክ ምን የንግድ ግቦችን መከተል እንዳለበት ተነግሮን ነበር። የተንታኞች የስራ ኮድ በተቻለ ፍጥነት ወደ ምርት እንዲገባ ስርዓቱ ህጎችን ለማዘጋጀት ፈጣን ጊዜ-ለገበያ ሊኖረው ይገባል። እና ለሚመጣው የመተግበሪያዎች ፍሰት፣ የውሳኔ ሰጪው ጊዜ በትንሹ መሆን አለበት። እንዲሁም እየተገነባ ያለው ስርዓት ደንበኛው ሌሎች የኩባንያ ምርቶችን በእኛ ተቀባይነት ካገኙ እና ከደንበኛው ፍላጎት ካላቸው ለመግዛት እድሉን ለመስጠት የመሸጥ ችሎታዎች ሊኖሩት ይገባል።

ለመልቀቅ ዝግጁ የሆነ ፕሮጀክት በአንድ ጀምበር መፃፍ እንደማይቻል ግልጽ ነው, በእርግጠኝነት ወደ ምርት ይገባል, እና አጠቃላይ ስርዓቱን ለመሸፈን በጣም ከባድ ነው, ስለዚህ ቢያንስ በከፊል እንዲተገበር ተጠየቅን. ፕሮቶታይፑን ማሟላት የሚገባቸው በርካታ መስፈርቶች ተመስርተዋል። ሁሉንም መስፈርቶች ሙሉ በሙሉ ለመሸፈን ሁለቱንም መሞከር ተችሏል, እና በተዘጋጀው መድረክ ላይ በተናጠል ክፍሎች ላይ በዝርዝር ለመስራት.

ቴክኖሎጂን በተመለከተ ሁሉም ተሳታፊዎች ሙሉ በሙሉ የመምረጥ ነፃነት ተሰጥቷቸዋል. ማንኛውንም ጽንሰ-ሀሳቦችን እና ቴክኖሎጂዎችን መጠቀም ተችሏል፡ የውሂብ ዥረት፣ የማሽን መማር፣ የክስተት ምንጭ፣ ትልቅ ዳታ እና ሌሎች።

የእኛ መፍትሄ

ከትንሽ አእምሮአዊ ግንዛቤ በኋላ፣ የFaaS መፍትሄ ስራውን ለማጠናቀቅ ተስማሚ እንደሚሆን ወስነናል።

ለዚህ መፍትሔ, እየተዘጋጀ ያለውን የውሳኔ አሰጣጥ ስርዓት ደንቦችን ተግባራዊ ለማድረግ ተስማሚ አገልጋይ-አልባ ማዕቀፍ መፈለግ አስፈላጊ ነበር. ቲንኮፍ ኩበርኔትስን ለመሠረተ ልማት አስተዳደር በንቃት ስለሚጠቀም፣ በእሱ ላይ ተመስርተው ብዙ ዝግጁ የሆኑ መፍትሄዎችን ተመልክተናል፤ ስለ እሱ በኋላ የበለጠ እነግራችኋለሁ።

በጣም ውጤታማውን መፍትሄ ለማግኘት በተጠቃሚዎቹ እይታ የሚመረተውን ምርት ተመልክተናል። የስርዓታችን ዋና ተጠቃሚዎች በደንብ ልማት ውስጥ የተሳተፉ ተንታኞች ናቸው። ህጎቹ ወደ አገልጋዩ መሰማራት አለባቸው፣ ወይም እንደእኛ ሁኔታ፣ ለቀጣይ ውሳኔዎች በደመና ውስጥ መሰማራት አለባቸው። ከተንታኝ እይታ፣ የስራ ሂደቱ ይህን ይመስላል።

  1. ተንታኙ ከመጋዘኑ በተገኘ መረጃ መሰረት ስክሪፕት፣ ደንብ ወይም ኤምኤል ሞዴል ይጽፋል። እንደ hackathon አካል, Mongodb ን ለመጠቀም ወስነናል, ነገር ግን የውሂብ ማከማቻ ስርዓት ምርጫ እዚህ አስፈላጊ አይደለም.
  2. በታሪካዊ መረጃ ላይ የተገነቡትን ህጎች ከሞከሩ በኋላ ተንታኙ የራሱን ኮድ ወደ የአስተዳዳሪ ፓነል ይሰቅላል።
  3. ስሪቱን ለማረጋገጥ ሁሉም ኮድ ወደ Git ማከማቻዎች ይሄዳል።
  4. በአስተዳዳሪ ፓነል በኩል ኮዱን በደመና ውስጥ እንደ የተለየ የሚሰራ አገልጋይ አልባ ሞጁል ማሰማራት ይቻላል ።

የደንበኞች የመጀመሪያ መረጃ የመጀመሪያውን ጥያቄ ከመጋዘን ውስጥ ባለው መረጃ ለማበልጸግ በተዘጋጀ ልዩ የማበልጸጊያ አገልግሎት ውስጥ ማለፍ አለበት። የተዋሃደ የውሂብ መዋቅርን ለመጠበቅ ከአንድ ማከማቻ (ተንታኙ ደንቦችን ሲያዘጋጁ መረጃዎችን የሚወስዱበት) እንዲሠራ በሚያስችል መንገድ ይህንን አገልግሎት መተግበሩ አስፈላጊ ነበር.

ከ hackathon በፊት እንኳን፣ የምንጠቀምበትን አገልጋይ አልባ ማዕቀፍ ላይ ወስነናል። ዛሬ በገበያ ላይ ይህን ዘዴ ተግባራዊ ለማድረግ በጣም ብዙ ቴክኖሎጂዎች አሉ. በኩበርኔትስ አርክቴክቸር ውስጥ በጣም ተወዳጅ የሆኑት መፍትሄዎች Fission፣ Open FaaS እና Kubeless ናቸው። እንኳን አሉ። ጥሩ ጽሑፍ ከገለፃቸው እና ከንጽጽር ትንተና ጋር.

ሁሉንም ጥቅሞች እና ጉዳቶች ካመዛዘንን በኋላ, መረጥን ፍሰት. ይህ አገልጋይ የሌለው ማዕቀፍ ለማስተዳደር በጣም ቀላል እና የተግባሩን መስፈርቶች ያሟላል።

ከፋሲዮን ጋር ለመስራት ሁለት መሰረታዊ ፅንሰ-ሀሳቦችን መረዳት ያስፈልግዎታል ተግባር እና አካባቢ. ተግባር Fission አካባቢ ካለባቸው ቋንቋዎች በአንዱ የተጻፈ ኮድ ነው። በዚህ ማዕቀፍ ውስጥ የተተገበሩ የአካባቢዎች ዝርዝር Python ፣ JS ፣ Go ፣ JVM እና ሌሎች ብዙ ታዋቂ ቋንቋዎችን እና ቴክኖሎጂዎችን ያጠቃልላል።

Fission በተጨማሪ ወደ ብዙ ፋይሎች የተከፋፈሉ ተግባራትን ማከናወን የሚችል ነው, ወደ ማህደር አስቀድሞ የታሸገ. በ Kubernetes ክላስተር ውስጥ ያለው የፋይሲዮን አሠራር በራሱ በማዕቀፉ የሚተዳደሩ በልዩ ፖድፖች የተረጋገጠ ነው። ከክላስተር ፖድዎች ጋር መስተጋብር ለመፍጠር እያንዳንዱ ተግባር የራሱ መንገድ መመደብ አለበት፣ እና በPOST ጥያቄ ጊዜ የGET መለኪያዎችን ማለፍ ወይም አካልን መጠየቅ ይችላሉ።

በውጤቱም, ተንታኞች ያለ መሐንዲሶች እና ገንቢዎች ተሳትፎ የዳበሩ የደንብ ስክሪፕቶችን ለማሰማራት የሚያስችል መፍትሄ ለማግኘት አቅደናል. የተገለጸው አካሄድ ገንቢዎች የትንታኔ ኮድ ወደ ሌላ ቋንቋ የመጻፍ አስፈላጊነትንም ያስወግዳል። ለምሳሌ አሁን በምንጠቀመው የውሳኔ አሰጣጥ ስርዓት በጣም ልዩ በሆኑ ቴክኖሎጂዎች እና ቋንቋዎች ውስጥ ደንቦችን መጻፍ አለብን, ስፋታቸው እጅግ በጣም የተገደበ ነው, እና በመተግበሪያው አገልጋይ ላይ ጠንካራ ጥገኝነትም አለ, ሁሉም ረቂቅ የባንክ ደንቦች ናቸው. በአንድ አካባቢ ውስጥ ተዘርግተዋል. በውጤቱም, አዳዲስ ደንቦችን ለመዘርጋት አጠቃላይ ስርዓቱን ለመልቀቅ አስፈላጊ ነው.

ባቀረብነው የመፍትሄ ሃሳብ ውስጥ ህጎችን መልቀቅ አያስፈልግም፤ ኮዱ በቀላሉ በአንድ አዝራር ጠቅ ማድረግ ይችላል። እንዲሁም በ Kubernetes ውስጥ የመሠረተ ልማት አስተዳደር ስለ ጭነት እና ሚዛን እንዳያስቡ ይፈቅድልዎታል ፣ እንደዚህ ያሉ ችግሮች ከሳጥኑ ውስጥ ተፈትተዋል ። እና ነጠላ የውሂብ መጋዘን መጠቀም የእውነተኛ ጊዜ መረጃዎችን ከታሪካዊ መረጃ ጋር ማወዳደር አስፈላጊነትን ያስወግዳል, ይህም የተንታኙን ስራ ቀላል ያደርገዋል.

ያገኘነው

ዝግጁ በሆነ መፍትሄ (በእኛ ቅዠቶች) ወደ hackathon ስለመጣን ማድረግ ያለብን ሀሳቦቻችንን ወደ ኮድ መስመር መቀየር ብቻ ነበር።

በማንኛውም የ hackathon ስኬት ቁልፉ ዝግጅት እና በደንብ የተጻፈ እቅድ ነው. ስለዚህ እኛ ያደረግነው የመጀመሪያው ነገር የስርዓታችን አርክቴክቸር ምን አይነት ሞጁሎችን እንደሚይዝ እና ምን አይነት ቴክኖሎጂዎችን እንደምንጠቀም መወሰን ነበር።

የፕሮጀክታችን አርክቴክቸር የሚከተለው ነበር።

በኩበርኔትስ ውስጥ ደመና FaaSን እንዴት እንደሰራን እና የ Tinkoff hackathon አሸንፈዋል
ይህ ንድፍ ሁለት የመግቢያ ነጥቦችን ያሳያል, ተንታኙ (የእኛ ስርዓት ዋና ተጠቃሚ) እና ደንበኛው.

የሥራው ሂደት በዚህ መንገድ የተዋቀረ ነው. ተንታኙ ለሞዴሉ የደንብ ተግባር እና የውሂብ ማበልፀጊያ ተግባር ያዘጋጃል፣ ኮዱን በ Git ማከማቻ ውስጥ ያከማቻል እና ሞዴሉን በአስተዳዳሪው መተግበሪያ በኩል ወደ ደመናው ያሰማራል። የተዘረጋው ተግባር እንዴት እንደሚጠራ እናስብ እና ከደንበኞች በሚመጡት ጥያቄዎች ላይ ውሳኔዎችን እንወስን፡

  1. ደንበኛው በድረ-ገጹ ላይ ቅጽ ሞልቶ ጥያቄውን ወደ መቆጣጠሪያው ይልካል. ውሳኔ መስጠት ያለበት ማመልከቻ ወደ ስርዓቱ ግብአት ይመጣል እና በመረጃ ቋቱ ውስጥ በመጀመሪያው ቅፅ ይመዘገባል።
  2. በመቀጠል, አስፈላጊ ከሆነ ጥሬው ጥያቄው ለማበልጸግ ይላካል. የመነሻ ጥያቄውን ከውጪ አገልግሎቶች እና ከማከማቻው ሁለቱንም ውሂብ ማሟላት ይችላሉ። የተገኘው የበለፀገ መጠይቅ እንዲሁ በመረጃ ቋቱ ውስጥ ተከማችቷል።
  3. የተንታኙ ተግባር ተጀምሯል፣ እሱም የበለፀገ ጥያቄን እንደ ግብአት ወስዶ መፍትሄ ያመጣል፣ እሱም ደግሞ ወደ ማከማቻው የተጻፈ ነው።

የመጀመሪያውን ጥያቄ ጨምሮ የማበልፀጊያ አገልግሎቶች ሁሉንም መረጃዎች በREST ተቆጣጣሪዎች ስላዋሃዱ በJSON ሰነዶች መልክ በሰነድ-ተኮር የውሂብ ማከማቻ ምክንያት MongoDB በስርዓታችን ውስጥ እንደ ማከማቻ ለመጠቀም ወስነናል።

ስለዚህ መድረኩን ለመተግበር XNUMX ሰአታት ነበረን። ሚናዎቹን በተሳካ ሁኔታ አከፋፍለናል፤ እያንዳንዱ የቡድን አባል በፕሮጀክታችን ውስጥ የራሱ የሆነ የኃላፊነት ቦታ ነበረው።

  1. የፊት-ፍጻሜ የአስተዳዳሪ ፓነሎች ለተንታኙ ሥራ፣ በዚህም ከጽሑፍ ስክሪፕቶች የስሪት ቁጥጥር ሥርዓት ሕጎችን ማውረድ፣ የግብዓት ውሂብን ለማበልጸግ አማራጮችን መምረጥ እና የደንብ ስክሪፕቶችን በመስመር ላይ ማስተካከል ይችላል።
  2. የኋላ አስተዳዳሪ፣ ለግንባር REST API እና ከቪሲኤስ ጋር ውህደትን ጨምሮ።
  3. በጎግል ክላውድ ውስጥ መሠረተ ልማትን ማዋቀር እና የምንጭ ውሂብን ለማበልጸግ አገልግሎት ማዳበር።
  4. የአስተዳዳሪውን መተግበሪያ ከአገልጋይ አልባ ማዕቀፍ ጋር ለቀጣይ ህጎችን ለማሰማራት ሞጁል።
  5. ለመጨረሻው ማሳያ የጠቅላላውን ስርዓት አፈፃፀም ለመፈተሽ የደንቦች ስክሪፕቶች እና በመጪ መተግበሪያዎች ላይ ትንታኔዎችን ማሰባሰብ (የተደረጉ ውሳኔዎች)።

በቅደም ተከተል እንጀምር ፡፡

የእኛ የፊት ገፅ የተጻፈው የባንክ UI ኪት በመጠቀም በAngular 7 ነው። የአስተዳዳሪ ፓነል የመጨረሻው ስሪት ይህን ይመስላል።

በኩበርኔትስ ውስጥ ደመና FaaSን እንዴት እንደሰራን እና የ Tinkoff hackathon አሸንፈዋል
ትንሽ ጊዜ ስለነበረ, ቁልፍ ተግባራትን ብቻ ተግባራዊ ለማድረግ ሞከርን. በ Kubernetes ክላስተር ውስጥ አንድ ተግባር ለማሰማራት አንድ ክስተት (ደንብ በደመና ውስጥ መዘርጋት ያለበት አገልግሎት) እና የውሳኔ አሰጣጡን አመክንዮ የሚተገበርበትን ኮድ መምረጥ አስፈላጊ ነበር። ለተመረጠው አገልግሎት ለእያንዳንዱ ደንብ ማሰማራት, የዚህን ክስተት ማስታወሻ ጻፍን. በአስተዳዳሪ ፓነል ውስጥ የሁሉም ክስተቶች ምዝግብ ማስታወሻዎች ማየት ይችላሉ።

ሁሉም የተግባር ኮድ በርቀት Git ማከማቻ ውስጥ ተከማችቷል፣ እሱም በአስተዳዳሪ ፓነል ውስጥም መቀናበር ነበረበት። ኮዱን ለማተም ሁሉም ተግባራት በተለያዩ የማከማቻው ቅርንጫፎች ውስጥ ተከማችተዋል። የአስተዳዳሪው ፓነል እንዲሁ በጽሑፍ ስክሪፕቶች ላይ ማስተካከያ የማድረግ ችሎታ ይሰጣል ፣ ስለሆነም አንድ ተግባር ወደ ምርት ከማሰማራትዎ በፊት የጽሑፍ ኮድን ብቻ ​​ማረጋገጥ ብቻ ሳይሆን አስፈላጊ ለውጦችንም ማድረግ ይችላሉ።

በኩበርኔትስ ውስጥ ደመና FaaSን እንዴት እንደሰራን እና የ Tinkoff hackathon አሸንፈዋል
ከደንቦቹ ተግባራት በተጨማሪ የማበልጸጊያ ተግባራትን በመጠቀም የምንጭ መረጃን ቀስ በቀስ የማበልጸግ ችሎታን ተግባራዊ አድርገናል ፣ ይህም ኮድ ወደ የውሂብ መጋዘን መሄድ ፣ የሶስተኛ ወገን አገልግሎቶችን መደወል እና የመጀመሪያ ደረጃ ስሌቶችን የሚሠራባቸው ስክሪፕቶች ነበሩ ። . የእኛን መፍትሄ ለማሳየት ጥያቄውን የተወው ደንበኛ የዞዲያክ ምልክትን አስልተናል እና የሶስተኛ ወገን REST አገልግሎትን በመጠቀም የሞባይል ኦፕሬተሩን ወስነናል።

የመድረኩ ጀርባ በጃቫ ተጽፎ እንደ ስፕሪንግ ቡት መተግበሪያ ተተግብሯል። መጀመሪያ ላይ የአስተዳዳሪ ውሂብን ለማከማቸት Postgres ን ለመጠቀም አቅደናል፣ ነገር ግን እንደ የ hackathon አካል፣ ጊዜን ለመቆጠብ እራሳችንን በቀላል H2 ለመገደብ ወስነናል። ከኋላ በኩል፣ የጥያቄ ማበልፀጊያ ተግባራትን እና የደንብ ስክሪፕቶችን ለመቅዳት ከBitbucket ጋር ውህደት ተተግብሯል። ከርቀት የጂት ማከማቻዎች ጋር ለመዋሃድ ተጠቀምን። JGit ቤተ መጻሕፍትምቹ የሆነ የሶፍትዌር በይነገጽን በመጠቀም ማንኛውንም የጂት መመሪያዎችን እንዲፈጽሙ የሚያስችልዎ በ CLI ትዕዛዞች ላይ የመጠቅለያ አይነት ነው። ስለዚህ ለማበልጸግ ተግባራት እና ደንቦች ሁለት የተለያዩ ማከማቻዎች ነበሩን እና ሁሉም ስክሪፕቶች ወደ ማውጫዎች ተከፋፈሉ። በዩአይ በኩል የዘፈቀደ የማከማቻ ቅርንጫፍ ስክሪፕት የቅርብ ጊዜ ቃል መምረጥ ተችሏል። በአስተዳዳሪ ፓነል በኩል በኮዱ ላይ ለውጦችን ሲያደርጉ የተለወጠው ኮድ ቃል በሩቅ ማከማቻዎች ውስጥ ተፈጥረዋል።

ሃሳባችንን ተግባራዊ ለማድረግ ተስማሚ መሠረተ ልማት ያስፈልገን ነበር። የእኛን የኩበርኔትስ ክላስተር በደመና ውስጥ ለማሰማራት ወስነናል። ምርጫችን ጎግል ክላውድ ፕላትፎርም ነበር። የFission አገልጋይ አልባ ማዕቀፍ በኩበርኔትስ ክላስተር ላይ ተጭኗል፣ እሱም በGcloud ውስጥ አሰማርተናል። መጀመሪያ ላይ፣ የምንጭ መረጃ ማበልፀጊያ አገልግሎት በk8s ክላስተር ውስጥ በፖድ ተጠቅልሎ እንደ የተለየ የጃቫ መተግበሪያ ተተግብሯል። ነገር ግን በ hackathon መካከል የፕሮጀክታችንን የመጀመሪያ ማሳያ ካደረግን በኋላ ገቢ አፕሊኬሽኖች ጥሬ መረጃን እንዴት ማበልጸግ እንደምንችል ለመምረጥ እድሉን ለመስጠት የማበልጸጊያ አገልግሎቱን የበለጠ ተለዋዋጭ ለማድረግ እንመክራለን። እና የማበልጸግ አገልግሎቱን አገልጋይ አልባ ከማድረግ ውጭ ምንም አማራጭ አልነበረንም።

ከ Fission ጋር ለመስራት, Fission CLI ን እንጠቀማለን, እሱም በ Kubernetes CLI ላይ መጫን አለበት. ተግባራትን ወደ k8s ክላስተር ማሰማራት በጣም ቀላል ነው፡ ከጥቅሉ ውጭ መድረስ የሚያስፈልግ ከሆነ መጪ ትራፊክን ለመፍቀድ የውስጥ መስመር መመደብ እና ወደ ተግባሩ መግባት ብቻ ያስፈልግዎታል። አንድ ተግባር መዘርጋት በተለምዶ ከ10 ሰከንድ ያልበለጠ ጊዜ ይወስዳል።

የፕሮጀክቱ የመጨረሻ አቀራረብ እና ማጠቃለያ

ስርዓታችን እንዴት እንደሚሰራ ለማሳየት በሩቅ አገልጋይ ላይ ለአንዱ የባንኩ ምርቶች ማመልከቻ ማስገባት የሚችሉበትን ቀላል ቅጽ አስቀምጠናል። ለመጠየቅ የመጀመሪያ ፊደላትን ፣ የትውልድ ቀንዎን እና የስልክ ቁጥርዎን ማስገባት አለብዎት።

ከደንበኛው ቅጽ የተገኘው መረጃ ወደ መቆጣጠሪያው ሄዶ ነበር ፣ እሱም በተመሳሳይ ጊዜ ለሁሉም ህጎች ጥያቄዎችን ላከ ፣ ቀደም ሲል በተገለጹት ሁኔታዎች መሠረት ውሂቡን በማበልጸግ እና በጋራ ማከማቻ ውስጥ ያስቀምጣቸዋል። በአጠቃላይ፣ በመጪ መተግበሪያዎች እና 4 የውሂብ ማበልጸጊያ አገልግሎቶች ላይ ውሳኔ የሚወስኑ ሶስት ተግባራትን አሰማርተናል። ማመልከቻውን ካስገቡ በኋላ ደንበኛው የእኛን ውሳኔ ተቀብሏል፡-

በኩበርኔትስ ውስጥ ደመና FaaSን እንዴት እንደሰራን እና የ Tinkoff hackathon አሸንፈዋል
እምቢታ ወይም ማረጋገጫ በተጨማሪ, ደንበኛው ደግሞ በትይዩ የላክንባቸው ሌሎች ምርቶች, ጥያቄዎች ዝርዝር ተቀብለዋል. በመድረክ ላይ የሽያጭ እድልን ያሳየነው በዚህ መንገድ ነው።

በአጠቃላይ 3 ምናባዊ የባንክ ምርቶች ነበሩ፡-

  • ክሬዲት
  • መጫወቻ
  • የቤት መግዣ

በሠርቶ ማሳያው ወቅት ለእያንዳንዱ አገልግሎት የተዘጋጁ ተግባራትን እና የማበልጸጊያ ጽሑፎችን አሰማርተናል።

እያንዳንዱ ህግ የራሱ የሆነ የግቤት ውሂብ ያስፈልገዋል። ስለዚህ, ብድርን ለማጽደቅ, የደንበኛውን የዞዲያክ ምልክት እናሰላለን እና ይህንን ከጨረቃ የቀን መቁጠሪያ አመክንዮ ጋር አገናኘን. አንድ አሻንጉሊት ለማጽደቅ, ደንበኛው ለአካለ መጠን እንደደረሰ አረጋግጠናል, እና ብድር ለመስጠት, ሴሉላር ኦፕሬተርን ለመወሰን ወደ ውጫዊ ክፍት አገልግሎት ጥያቄ ልከናል, እና በእሱ ላይ ውሳኔ ተሰጥቷል.

ሠርቶ ማሳያአችንን አስደሳች እና መስተጋብራዊ ለማድረግ ሞክረናል፣ ሁሉም የተገኙት ወደ እኛ ቅፅ ሄዶ ልቦለድ አገልግሎቶቻችንን ለእነሱ መገኘቱን ማረጋገጥ ይችላል። እና በዝግጅቱ መጨረሻ ላይ፣ የተቀበሉት አፕሊኬሽኖች ትንታኔዎችን አሳይተናል፣ ይህም ምን ያህል ሰዎች አገልግሎታችንን እንደሚጠቀሙ፣ የተፈቀዱትን እና እምቢታዎችን አሳይተናል።

በመስመር ላይ ትንታኔዎችን ለመሰብሰብ፣ በተጨማሪ ክፍት ምንጭ BI መሳሪያን አሰማርተናል ሜታቤዝ እና ወደ ማከማቻ ክፍላችን ሰከረው። Metabase እኛን በሚስቡ መረጃዎች ላይ ትንታኔዎችን እንዲገነቡ ይፈቅድልዎታል ፣ ከመረጃ ቋቱ ጋር ግንኙነት መመዝገብ ብቻ ያስፈልግዎታል ፣ ሰንጠረዦችን ይምረጡ (በእኛ ሁኔታ ፣ የውሂብ ስብስቦች ፣ ሞንጎዲቢን ስለተጠቀምን) እና ለእኛ ፍላጎት ያላቸውን መስኮች ይግለጹ ። .

በውጤቱም ፣ የውሳኔ አሰጣጥ መድረክ ጥሩ ምሳሌ አግኝተናል ፣ እና በሠርቶ ማሳያው ወቅት እያንዳንዱ አድማጭ አፈፃፀሙን በግል ማረጋገጥ ይችላል። ከሌሎች ቡድኖች ጠንካራ ፉክክር ቢኖረንም አስደሳች መፍትሄ፣ የተጠናቀቀ ፕሮቶታይፕ እና የተሳካ ማሳያ እንድናሸንፍ አስችሎናል። በእያንዳንዱ ቡድን ፕሮጀክት ላይ አንድ አስደሳች ጽሑፍ ሊጻፍ እንደሚችል እርግጠኛ ነኝ።

ምንጭ: hab.com

አስተያየት ያክሉ