ViennaNET: saitin ɗakunan karatu na baya

Hello kowa da kowa!

Mu al'umma ne na masu haɓaka NET a Raiffeisenbank kuma muna so muyi magana game da saitin ɗakunan karatu na abubuwan more rayuwa bisa NET Core don ƙirƙirar microservices da sauri tare da tsarin muhalli guda ɗaya. Sun kawo shi zuwa Open Source!

ViennaNET: saitin ɗakunan karatu na baya

A bit of history

A wani lokaci muna da babban aikin monolithic, wanda a hankali ya juya ya zama saitin microservices (zaku iya karanta game da fasalulluka na wannan tsari a ciki). wannan labarin). A cikin wannan tsari, mun ci karo da matsalar cewa lokacin ƙirƙirar sabbin microservices, sau da yawa dole ne mu kwafi hanyoyin samar da ababen more rayuwa daban-daban - kamar kafa shiga, aiki tare da bayanan bayanai, WCF, da sauransu. Ƙungiya ɗaya ta yi aiki akan wannan aikin, kuma kowa ya riga ya saba da wasu kafaffen tsarin aiki tare da kayan aiki. Saboda haka, mun ware lambar gama gari zuwa wurin ajiyar daban, muka nade dakunan karatu da aka tattara a cikin fakitin Nuget muka sanya su cikin ma'ajiyar Nuget na ciki.

Lokaci ya wuce, aikin a hankali ya wargaje, kuma akwai sha'awar ƙirƙirar sabbin samfuran gefen abokin ciniki akan tsarin JS na zamani da gudanar da su a cikin mai binciken. Mun fara motsi daga WCF/SOAP zuwa REST/HTTP, don haka muna buƙatar sabbin ɗakunan karatu don ƙaddamar da ayyuka da sauri dangane da AspNet WebApi. Sigar farko akan tsarin .Net Framework 4.5 an yi shi ne ta hanyar injiniyan mu kusan a durƙusa a cikin lokacinsa na kyauta, amma daga cikin akwatin ya ba da damar ƙaddamar da sabis tare da layi uku a cikin Program.cs waɗanda ke ɗauke da izini (NTLM), shiga, Swagger, IoC/DI bisa tushen Castle Windsor, abokan cinikin HTTP na musamman waɗanda ke tura kanun labarai daban-daban don samar da shiga-ƙarshe-zuwa-ƙarshe a cikin gabaɗayan aikin. Kuma ana iya ƙara daidaita wannan duka kai tsaye a cikin fayil ɗin saitin sabis.

Koyaya, ba komai ya kasance mai santsi ba: wannan ɗakin karatu ya zama mai sauƙin sassauƙa dangane da gabatar da sabbin kayayyaki. Misali, idan kuna buƙatar ƙara wasu na'urorin tsakiya na musamman, dole ne ku ƙirƙiri sabon taro kuma ku gaji daga rukunin tushe wanda ke gudanar da sabis ɗin, wanda bai dace ba. Abin farin ciki, ba a sami yawancin irin waɗannan lokuta ba.

Zamanin Docker da Kubernetes

Lokaci ya zo lokacin da igiyar Docker da Kubernetes suka isa gare mu, wanda muka sa ido sosai: bayan haka, yana da babbar dama don fara ci gaba da ci gaba tare da fasaha, a cikin .Net Core. Wannan yana nufin cewa za mu buƙaci sababbin abubuwan more rayuwa don gudanar da ayyuka: wasu ɗakunan karatu sun yi ƙaura daga Tsarin Gidan Yanar Gizo zuwa .Net Standard da .Net Core a zahiri ba tare da canje-canje ba, wasu tare da ƙaramin haɓakawa. Amma mafi yawan duka ina so in sake yin aikin da ke da alaƙa da ƙaddamar da ayyuka akan AspNet Core.

Abu na farko da muka yi la'akari da shi shine ra'ayi wanda zai cire babban koma baya na sigar da ta gabata: rashin sassauci. Sabili da haka, an yanke shawarar sanya tsarin ɗakin karatu gaba ɗaya ya zama mai zaman kansa kuma mai daidaitawa gwargwadon yiwuwa kuma a tattara ayyukan da ake buƙata don aiki azaman mai gini.

Babban makasudin shine ƙirƙirar haɗin kai wanda ke bayyana yadda ake hulɗa tare da bayanan bayanai, bas da sauran ayyuka. Mun yi ƙoƙarin yin haɗin kai cikin sauri da rashin zafi, kuma masu haɓakawa za su iya mai da hankali kan rubuta dabarun kasuwanci maimakon abubuwan more rayuwa - ya riga ya shirya. Wurin ajiya na gama-gari yana taimakawa haɓaka ƙwarewar hulɗar tsakanin ƙungiyoyi: lokacin da ake amfani da abubuwan more rayuwa iri ɗaya na ciki, yana da sauƙin shiga tsarin haɓakawa na wata ƙungiya da ƙwarewar musayar.

Kuma me yasa muke buƙatar Buɗaɗɗen Source?

Muna so mu nuna balaga na ƙwarewarmu kuma mu sami ra'ayi mai kyau: mutum a waje da banki zai iya kawo wani abu na kansu. Har ila yau, muna sha'awar ci gaban ayyuka don aiki tare da microservices da DDD akan NET a cikin masana'antu; watakila wani zai so ya dauki wasu sassa na tsarin.

A zahiri, ViennaNET

Yanzu bari mu duba da kyau. An buga cikakken lambar tushe anan.

ViennaNET.WebApi.*

Wannan saitin ɗakunan karatu ya ƙunshi "tushen" ViennaNET.WebApi, yana dauke da aji mai ginawa don sabis na Kamfanin HostBuilder, da kuma saitin masu tsarawa ViennaNET.WebApi.Configurators.*, kowannensu yana ba ku damar ƙarawa da daidaita wasu ayyuka ga waɗanda aka ƙirƙira. hidima. Daga cikin masu daidaitawa zaku iya samun haɗin kai don shiga, bincike, tantancewa da nau'ikan izini, swagger, da sauransu.

ViennaNET.WebApi.Runers.* kuma ya ƙunshi masu ginin sabis da aka riga aka tsara. Waɗannan fakitin suna ba ku damar tunawa duk lokacin da kuka ƙirƙiri sabon sabis wanda masu daidaitawa ke buƙatar haɗawa. Duk da haka, ba sa iyakance ayyukan maginin sabis ta kowace hanya.

ViennaNET.Matsakaici.*

Laburaren da ke ba ku damar ƙirƙirar bas na tsaka-tsakin ciki don umarni da buƙatun cikin sabis. Wannan tsarin yana ba ku damar rage adadin allurar DI zuwa ɗaya, misali, a cikin masu sarrafawa. Saboda wannan, zaku iya ƙara masu ado daban-daban zuwa buƙatun, wanda ke haɓaka aikin su kuma yana rage adadin lambar.

ViennaNET.Tabbatarwa

Taro mai ɗauke da saitin azuzuwan don ƙirƙirar ƙa'idodin tabbatarwa da jeri daga gare su. Yana da matukar dacewa don aiwatar da ingantaccen yanki, kamar yadda yake ba ku damar kwatanta kowane yanayin kasuwanci a cikin tsari mai sauƙi da raba.

ViennaNET.Redis

Laburare tare da nannade don aiki mai dacewa tare da Redis azaman ma'ajiyar ƙwaƙwalwar ajiya.

ViennaNET.Takamaimai

Taro mai ɗauke da azuzuwan da ke aiwatar da ƙayyadaddun tsari.

Wannan ba duk abin da ke cikin saitin mu ba ne. Kuna iya ganin sauran a cikin ma'ajin GitHub. Muna shirin sakin dakunan karatu don aiki tare da bayanan bayanai zuwa OpenSource nan ba da jimawa ba.

Na gode da kulawar ku, muna sa ido ga ra'ayoyin ku da kuma buƙatun ku.

source: www.habr.com

Add a comment