ViennaNET: sraith leabharlann don inneall

Dia duit gach duine!

Is pobal d'fhorbróirí .NET muid ag Raiffeisenbank agus ba mhaith linn labhairt faoi shraith de leabharlanna bonneagair atá bunaithe ar .NET Core chun micrisheirbhísí a chruthú go tapa le héiceachóras amháin. Thug siad chuig Foinse Oscailte é!

ViennaNET: sraith leabharlann don inneall

A Stair beag

Uair amháin bhí tionscadal mór monolithic againn, a d'iompaigh sraith de mhicrisheirbhísí de réir a chéile (is féidir leat léamh faoi ghnéithe an phróisis seo i an t-alt seo). Sa phróiseas, tháinig muid ar an bhfadhb nuair a bhí micreasheirbhísí nua á gcruthú againn, go minic bhí orainn réitigh bhonneagair éagsúla a chóipeáil - mar shampla logáil a bhunú, oibriú le bunachar sonraí, WCF, etc. D’oibrigh foireann amháin ar an tionscadal seo, agus bhí gach duine i dtaithí cheana féin ar chur chuige seanbhunaithe éigin maidir le hoibriú le bonneagar. Dá bhrí sin, scaramar an cód coiteann i stór ar leith, fillteamar na leabharlanna bailithe i bpacáistí Nuget agus chuireamar inár stór Nuget inmheánach iad.

Chuaigh an t-am thart, roinneadh an tionscadal de réir a chéile, agus bhí fonn ann modúil nua ar thaobh an chliaint a chruthú ar chreat JS nua-aimseartha agus iad a reáchtáil sa bhrabhsálaí. Thosaigh muid ag bogadh ó WCF/gallúnach go REST/HTTP, agus mar sin bhí leabharlanna nua ag teastáil uainn chun seirbhísí bunaithe ar AspNet WebApi a sheoladh go tapa. Rinne ár n-ailtire an chéad leagan ar an .Net Framework 4.5 beagnach ar a ghlúine ina chuid ama saor, ach as an mbosca rinne sé indéanta seirbhís le trí líne a sheoladh i Program.cs ina raibh údarú (NTLM), logáil, Swagger, IoC/DI ar bunaithe ar Castle Windsor, cliaint HTTP saincheaptha a chuireann ceanntásca éagsúla ar aghaidh chun logáil deireadh go deireadh a sholáthar ar fud an tionscadail ar fad. Agus d'fhéadfaí an rud iomlán seo a chumrú tuilleadh go díreach sa chomhad cumraíochta seirbhíse.

Ní raibh gach rud réidh, áfach: bhí an leabharlann seo thar a bheith dolúbtha maidir le modúil nua a thabhairt isteach. Mar shampla, dá mba ghá duit earraí lár speisialta a chur leis, bhí ort tionól nua a chruthú agus oidhreacht a fháil ón mbunrang a ritheann an tseirbhís, rud a bhí thar a bheith deacair. Ar ámharaí an tsaoil, ní raibh mórán cásanna den sórt sin ann.

An ré na Docker agus Kubernetes

Tá an t-am tagtha nuair a shroich tonn Docker agus Kubernetes dúinn, rud a d'fhéachamar go dlúth: tar éis an tsaoil, ba sheans iontach é tosú ag bogadh níos faide ar feadh na dteicneolaíochtaí, i .Net Core. Ciallaíonn sé seo go mbeidh bonneagar nua ag teastáil uainn chun seirbhísí a rith: tá roinnt leabharlann tar éis aistriú ón .Net Framework go .Net Standard agus .Net Core go praiticiúil gan athruithe, cuid acu le mionfheabhsuithe. Ach go háirithe bhí mé ag iarraidh an fheidhmiúlacht a bhaineann le seirbhísí a sheoladh ar AspNet Core a athoibriú.

Ba é an chéad rud a mheasamar ná coincheap a bhainfeadh an príomh-mhíbhuntáiste a bhain leis an leagan roimhe seo: easpa solúbthachta. Mar sin, socraíodh córas iomlán na leabharlainne a dhéanamh chomh neamhspleách agus chomh modúlach agus ab fhéidir agus na seirbhísí a bhailiú a theastaíonn le haghaidh feidhmiúlacht mar chruthaitheoir.

Is é an príomhsprioc ná cur chuige aontaithe a chruthú a chuireann síos ar conas idirghníomhú le bunachair shonraí, busanna agus seirbhísí eile. Rinneamar iarracht comhtháthú tapa agus gan phian a dhéanamh, agus d'fhéadfadh forbróirí díriú ar loighic ghnó a scríobh seachas ar bhonneagar - tá sé réidh cheana féin. Cuidíonn stór coiteann chun taithí na hidirghníomhaíochta laistigh d’fhoirne a fheabhsú: nuair a úsáidtear bonneagair inmheánacha atá an-chosúil, is fusa dul isteach i bpróiseas forbartha foirne eile agus saineolas a mhalartú.

Agus cén fáth a bhfuil Foinse Oscailte de dhíth orainn?

Ba mhaith linn aibíocht ár saineolais a thaispeáint agus aiseolas ardchaighdeáin a fháil: beidh duine lasmuigh den bhanc in ann rud éigin as féin a thabhairt. Tá suim againn freisin i gcleachtais a fhorbairt chun oibriú le micreasheirbhísí agus DDD ar .NET sa tionscal, b'fhéidir go mbeidh duine ag iarraidh a bheith i gceannas ar chodanna áirithe den chreat.

I ndáiríre, ViennaNET

Anois, déanaimis breathnú níos dlúithe. Tá an cód foinse iomlán le fáil anseo.

ViennaNET.WebApi.*

Is éard atá sa tsraith leabharlann seo ná an “root” ViennaNET.WebApi, ina bhfuil an rang tógálaí don tseirbhís CompanyHostBuilder, agus sraith de chumróirí ViennaNET.WebApi.Configurators.*, agus ligeann gach ceann díobh seo duit feidhmiúlacht áirithe a chur leis agus a chumrú leis an gcóras cruthaithe. seirbhíse. I measc na cumróirí is féidir leat naisc a aimsiú le haghaidh logáil, diagnóisic, cineálacha fíordheimhnithe agus údaraithe, swagger, etc.

ViennaNET.WebApi.Runners.* freisin tá tógálaithe seirbhíse réamh-chumraithe. Ligeann na pacáistí seo duit gan cuimhneamh ar gach uair a chruthaíonn tú seirbhís nua ar gá cumróirí a nascadh. Mar sin féin, ní chuireann siad teorainn ar fheidhmiúlacht an tógálaí seirbhíse ar bhealach ar bith.

ViennaNET.Idirghabhálaí.*

Leabharlanna a ligeann duit bus idirghabhálaí inmheánach a chruthú le haghaidh orduithe agus iarratais laistigh de sheirbhís. Ligeann an cur chuige seo duit líon na n-instealltaí DI a laghdú go ceann amháin, mar shampla, i rialtóirí. Mar gheall air seo, is féidir leat maisitheoirí éagsúla a chur le hiarratais, a aontaíonn a bpróiseáil agus a laghdaíonn méid an chóid.

ViennaNET.Validation

Tionól ina bhfuil sraith ranganna chun rialacha bailíochtaithe agus seichimh a chruthú astu. Tá sé an-áisiúil bailíochtú fearainn a chur i bhfeidhm, toisc go gceadaíonn sé duit cur síos a dhéanamh ar gach coinníoll gnó i bhfoirm riail shimplí agus ar leithligh.

VínNET.Redis

Leabharlann le cumhdaigh chun obair áisiúil a dhéanamh le Redis mar thaisce cuimhneacháin.

ViennaNET.Specifications

Tionól ina bhfuil ranganna a chuireann patrún na Sonraíochta i bhfeidhm.

Ní hé seo go léir atá inár sraith. Is féidir leat an chuid eile a fheiceáil i stór GitHub. Tá sé beartaithe againn ár leabharlanna a scaoileadh le haghaidh oibriú le bunachair shonraí chuig OpenSource go luath.

Go raibh maith agat as d'aird, táimid ag tnúth le do thuairimí agus iarratais a tharraingt.

Foinse: will.com

Add a comment