ቪየናኔት፡ ለኋለኛ ክፍል የቤተ-መጻህፍት ስብስብ

ሁሉም ሰው ሰላም!

እኛ በ Raiffeisenbank የ NET ገንቢዎች ማህበረሰብ ነን እና በ NET Core ላይ የተመሰረቱ የመሰረተ ልማት ቤተ-መጻሕፍት ስብስብ ከአንድ ነጠላ ሥነ-ምህዳር ጋር በፍጥነት ማይክሮ አገልግሎቶችን ለመፍጠር እንፈልጋለን። ወደ ክፍት ምንጭ አመጡ!

ቪየናኔት፡ ለኋለኛ ክፍል የቤተ-መጻህፍት ስብስብ

ትንሽ ታሪክ

በአንድ ወቅት አንድ ትልቅ ሞኖሊቲክ ፕሮጄክት ነበረን ፣ እሱም ቀስ በቀስ ወደ ማይክሮ አገልግሎት ስብስብ ተለወጠ (ስለዚህ ሂደት ባህሪዎች በ ውስጥ ማንበብ ይችላሉ) ይህ ጽሑፍ). በሂደቱ ውስጥ አዳዲስ ጥቃቅን አገልግሎቶችን ስንፈጥር ብዙ ጊዜ የተለያዩ የመሠረተ ልማት መፍትሄዎችን መቅዳት ነበረብን - እንደ ሎግ ማዘጋጀት ፣ ከዳታ ቤዝ ጋር መሥራት ፣ WCF ፣ ወዘተ. አንድ ቡድን በዚህ ፕሮጀክት ላይ ሠርቷል, እና ሁሉም ሰው ከመሠረተ ልማት ጋር አብሮ ለመስራት አንዳንድ የተቋቋመ አቀራረብን አስቀድሞ ተለማምዷል. ስለዚህ የጋራ ኮድ ወደ ሌላ ማከማቻ ለይተን የተሰበሰቡትን ቤተ-መጻሕፍት በኑጌት ፓኬጆች ጠቅልለን በውስጣችን የኑጌት ማከማቻ ውስጥ አስቀመጥናቸው።

ጊዜው አልፏል, ፕሮጀክቱ ቀስ በቀስ ተበታተነ, እና አዲስ የደንበኛ-ጎን ሞጁሎችን በዘመናዊ የጄኤስ ማዕቀፍ ላይ ለመፍጠር እና በአሳሹ ውስጥ ለማስኬድ ፍላጎት ነበረ. ከWCF/SOAP ወደ REST/HTTP መሄድ ጀመርን ስለዚህ በአስፕኔት ዌብአፒ ላይ ተመስርተው አገልግሎቶችን በፍጥነት ለመጀመር አዲስ ቤተ-መጻሕፍት ያስፈልጉናል። በ .Net Framework 4.5 ላይ ያለው የመጀመሪያው እትም በእኛ አርክቴክት የተሰራው በትርፍ ጊዜው ተንበርክኮ ነው ማለት ይቻላል፣ነገር ግን ከሳጥኑ ውጪ በፕሮግራም.cs ውስጥ ፍቃድ (NTLM) የያዘ አገልግሎት ለመጀመር አስችሎታል። logging፣ Swagger፣ IoC/DI በ Castle Windsor ላይ የተመሰረተ፣ ብጁ የኤችቲቲፒ ደንበኞች በጠቅላላው ፕሮጀክት ከጫፍ እስከ ጫፍ ምዝግብ ማስታወሻን ለማቅረብ የተለያዩ አርዕስቶችን ያስተላልፋሉ። እና ይህ ሁሉ ነገር በአገልግሎት ውቅር ፋይል ውስጥ በቀጥታ ሊዋቀር ይችላል።

ነገር ግን፣ ሁሉም ነገር ለስላሳ አልነበረም፡ ይህ ቤተ-መጽሐፍት አዳዲስ ሞጁሎችን ከማስተዋወቅ አንፃር እጅግ በጣም ተለዋዋጭ ሆኖ ተገኘ። ለምሳሌ፣ አንዳንድ ልዩ ሚድልዌርን ማከል ከፈለጉ አዲስ ስብሰባ መፍጠር እና አገልግሎቱን ከሚመራው መሰረታዊ ክፍል መውረስ ነበረቦት፣ ይህም በጣም የማይመች ነበር። እንደ እድል ሆኖ, እንደዚህ አይነት ጉዳዮች በጣም ብዙ አልነበሩም.

የዶከር እና የኩበርኔትስ ዘመን

በቅርበት የምንከታተለው የዶከር እና የኩበርኔትስ ማዕበል ወደ እኛ የደረስንበት ጊዜ መጥቷል፡ ከሁሉም በላይ በቴክኖሎጂዎቹ ላይ የበለጠ መንቀሳቀስ ለመጀመር ትልቅ እድል ነበር በኔት ኮር። ይህ ማለት አገልግሎቶችን ለማስኬድ አዲስ መሠረተ ልማት ያስፈልገናል ማለት ነው፡- አንዳንድ ቤተ-መጻሕፍት ከኔትዎርክ ማዕቀፍ ወደ ኔት ስታንዳርድ እና .ኔት ኮር በተግባር ሳይለወጡ አንዳንዶቹ ጥቃቅን ማሻሻያዎች ተደርገዋል። ግን ከሁሉም በላይ በ AspNet Core ላይ አገልግሎቶችን ከመጀመር ጋር የተያያዘውን ተግባር እንደገና መሥራት ፈልጌ ነበር።

የተመለከትነው የመጀመሪያው ነገር የቀደመው ስሪት ዋና መሰናክሎችን የሚያስወግድ ፅንሰ-ሀሳብ ነበር-የመተጣጠፍ እጥረት። ስለሆነም መላው የቤተ መፃህፍት ስርዓቱ በተቻለ መጠን ገለልተኛ እና ሞጁል እንዲሆን እና ለተግባራዊነት አስፈላጊ የሆኑትን አገልግሎቶች እንደ ግንበኛ እንዲሰበስብ ተወስኗል።

ዋናው ግቡ ከመረጃ ቋቶች፣ አውቶቡሶች እና ሌሎች አገልግሎቶች ጋር እንዴት እንደሚገናኙ የሚገልጽ አንድ ወጥ አሰራር መፍጠር ነው። ውህደቶችን ፈጣን እና ህመም የሌለው ለማድረግ ሞክረናል፣ እና ገንቢዎች ከመሠረተ ልማት ይልቅ የንግድ ሥራ አመክንዮ በመጻፍ ላይ ሊያተኩሩ ይችላሉ - አስቀድሞ ዝግጁ ነው። የጋራ ማከማቻ በቡድን ውስጥ ያለውን የመግባባት ልምድ ለማሻሻል ይረዳል፡ በጣም ተመሳሳይ የውስጥ መሠረተ ልማቶች ጥቅም ላይ ሲውሉ የሌላ ቡድንን የእድገት ሂደት መቀላቀል እና እውቀትን መለዋወጥ ቀላል ይሆናል።

እና ለምን ክፍት ምንጭ ያስፈልገናል?

የባለሙያዎቻችንን ብስለት ለማሳየት እና ከፍተኛ ጥራት ያለው አስተያየት ለመቀበል እንፈልጋለን: ከባንክ ውጭ ያለ ሰው ከራሱ የሆነ ነገር ማምጣት ይችላል. በኢንዱስትሪው ውስጥ ከማይክሮ ሰርቪስ እና ከዲዲዲ ጋር በ NET ላይ የመስራት ልምዶችን ለማዳበር ፍላጎት አለን ፣ ምናልባት አንድ ሰው የተወሰኑ የማዕቀፉን ክፍሎች ሊወስድ ይፈልግ ይሆናል።

በእውነቱ, ViennaNET

አሁን ጠለቅ ብለን እንመርምር። ሙሉው ምንጭ ኮድ እዚህ ተለጠፈ.

ViennaNET.WebApi.*

ይህ የቤተ-መጽሐፍት ስብስብ "ሥር" ቪየናኔት.ዌብኤፒን ያካትታል, ለኩባንያው አስተናጋጅ አገልግሎት ገንቢ ክፍልን እና የቪየናኔት.ዌብአፒ.Configurators ስብስብን ያካትታል, እያንዳንዱም ለተፈጠረው አንዳንድ ተግባራትን ለመጨመር እና ለማዋቀር ያስችልዎታል. አገልግሎት. ከማዋቀሪያዎቹ መካከል የምዝግብ ማስታወሻዎች ፣ ምርመራዎች ፣ የማረጋገጫ እና የፍቃድ ዓይነቶች ፣ swagger ፣ ወዘተ ግንኙነቶችን ማግኘት ይችላሉ።

ViennaNET.WebApi.Runers.* አስቀድሞ የተዋቀሩ አገልግሎት ግንበኞችን ይዟል። እነዚህ ጥቅሎች አዲስ አገልግሎት በፈጠሩ ቁጥር እንዳታስታውሱ ያስችሉዎታል የትኞቹ ውቅሮች መገናኘት አለባቸው. ሆኖም ግን, በማንኛውም መንገድ የአገልግሎት ገንቢውን ተግባር አይገድቡም.

ቪየናኔት.አስታራቂ።*

በአንድ አገልግሎት ውስጥ ለትእዛዞች እና ጥያቄዎች የውስጥ አማላጅ አውቶቡስ እንዲፈጥሩ የሚያስችልዎ ቤተ-መጻሕፍት። ይህ አቀራረብ የ DI መርፌዎችን ቁጥር ወደ አንድ እንዲቀንሱ ያስችልዎታል, ለምሳሌ, በተቆጣጣሪዎች ውስጥ. በዚህ ምክንያት የተለያዩ ማስጌጫዎችን ወደ ጥያቄዎች ማከል ይችላሉ ፣ ይህም አሰራራቸውን አንድ የሚያደርግ እና የኮዱን መጠን ይቀንሳል።

ቪየናኔት.ማረጋገጥ

የማረጋገጫ ደንቦችን እና ቅደም ተከተሎችን ለመፍጠር የመማሪያ ክፍሎችን የያዘ ስብሰባ። እያንዳንዱን የንግድ ሁኔታ በቀላል እና በተናጥል ህግ መልክ እንዲገልጹ ስለሚያስችል የጎራ ማረጋገጫን ለመተግበር በጣም ምቹ ነው.

ቪየናኔት.ሬዲስ

ከRedis ጋር እንደ ውስጠ-ማህደረ ትውስታ መሸጎጫ ለሆነ ምቹ ስራ መጠቅለያ ያለው ቤተ-መጽሐፍት።

ViennaNET.መግለጫዎች

የ Specification ንድፉን የሚተገብሩ ክፍሎችን የያዘ ስብሰባ።

በእኛ ስብስብ ውስጥ ያለው ይህ ብቻ አይደለም. የቀረውን ማየት ትችላለህ በ GitHub ማከማቻ ውስጥ. ከመረጃ ቋቶች ጋር ለመስራት ቤተ-መጻሕፍቶቻችንን በቅርቡ ወደ OpenSource ለመልቀቅ አቅደናል።

ስለ እርስዎ ትኩረት እናመሰግናለን፣ አስተያየቶችዎን በጉጉት እንጠብቃለን እና ጥያቄዎችን ይጎትቱታል።

ምንጭ: hab.com

አስተያየት ያክሉ