Adeegyada yaryar: waxa ay yihiin, sababta ay u yihiin iyo goorta la hirgelinayo

Waxaan rabay in aan maqaal ku qoro mawduuca dhismaha microservice-ka muddo dheer, laakiin laba shay ayaa iga joojinayay - intaan sii galay mawduuca, waxay ii muuqatay in waxa aan ogahay ay cad yihiin, iyo waxa aan sameeyo' t ogow waxay u baahan tahay in la barto oo la barto. Dhanka kale, waxaan u maleynayaa in ay jiraan wax laga wadahadlo oo ka dhex jira dhegeystayaal ballaaran. Markaa fikrado kale waa la soo dhawaynayaa.

Sharciga Conway iyo xiriirka ka dhexeeya ganacsiga, ururka iyo nidaamka macluumaadka

Mar labaad waxaan u ogolaan doonaa naftayda inaan soo qaato:

"Urur kasta oo qaabeeya nidaam (macnaha ballaaran) wuxuu heli doonaa naqshad qaab dhismeedkiisu soo koobo qaab dhismeedka kooxaha ururkaas."
- Melvyn Conway, 1967

Fikradayda, sharcigani wuxuu u badan yahay inuu la xiriiro suurtagalnimada abaabulka ganacsiga, halkii uu si toos ah ula xiriiri lahaa nidaamka macluumaadka. Aan ku macneeyo tusaale. Aynu nidhaahno waxaan haysanaa fursad ganacsi oo xasiloon oo leh wareeg nololeed oo dherer ah taas oo macno samaynaysa in la abaabulo ganacsi (tani maahan wax qorid, laakiin runtii waxaan jeclahay ereygan aan xaday) Dabcan, nidaamka taageerada ganacsigan si habaysan iyo habaysan u dhigmi doona ganacsigan .

Hanuuninta ganacsiga ee nidaamyada macluumaadka

Adeegyada yaryar: waxa ay yihiin, sababta ay u yihiin iyo goorta la hirgelinayo

Aan ku macneeyo tusaale. Aynu sheegno inay jirto fursad ganacsi oo lagu abaabulo ganacsi iibinaya pizza. Nooca V1 (aan ugu yeerno macluumaadka hore), shirkadu waxay ahayd pizzeria, diiwaanka lacagta caddaanka ah, iyo adeegga gaarsiinta. Noocani wuxuu ahaa mid muddo dheer ku noolaa xaaladaha kala duwanaanshiyaha deegaanka ee hooseeya. Dabadeed nooca 2 ayaa u yimid inuu beddelo - aad u horumarsan oo awood u leh inuu isticmaalo nidaamka macluumaadka xudunta u ah ganacsiga oo leh naqshad monolithic ah. Oo halkan, fikradayda, waxaa jira si fudud caddaalad-darro xun oo la xidhiidha monoliths - Nashqadaynta monolithic ee la sheegay in aanu u dhigmin qaabka ganacsi ee domainka. Haa, haddii ay tani sidaas tahay, nidaamku ma awoodi doono inuu shaqeeyo gabi ahaanba - taas oo ka soo horjeeda isla sharciga Conway iyo caqli-galnimada. Maya, qaab-dhismeedka monolithic wuxuu si buuxda ula jaan qaadayaa qaabka ganacsiga ee marxaladdan horumarinta ganacsiga - Anigu, dabcan, waxaan ula jeedaa marxaladda nidaamka mar hore la abuuray oo la geliyay hawlgal. Waa xaqiiqo aad cajiib u ah in iyadoon loo eegin qaabka qaab dhismeedka, nooca qaab-dhismeedka ku jihaysan adeegga 3 iyo nooca qaab-dhismeedka microservices N ay si isku mid ah u shaqeyn doonaan. Waa maxay qabsashada?

Wax walba way qulqulaan, wax walbaa way isbedelaan, mise adeegaha yar-yar ayaa macnaheedu yahay in lagula dagaallamo kakanaanta?

Kahor intaanan sii wadin, aan eegno fikradaha khaldan ee ku saabsan qaab-dhismeedka adeeg-yaraha.

Taageerayaasha isticmaalka habka adeeg-yaraha ayaa inta badan ku dooda in jebinta monolith ee adeeg-yaraha ay fududayso habka horumarinta iyada oo la dhimayo saldhigga code ee adeegyada gaarka ah. Fikradayda, hadalkani waa wax aan macno lahayn. Dhab ahaantii, is dhexgalka muuqda ee ka dhex jira kood keli ah iyo isku midka ah ayaa u muuqda mid adag? Haddii ay run ahaantii tani ahaan lahayd, dhammaan mashaariicda marka hore waxaa loo dhisi lahaa adeeg-yaro ah, halka dhaqanku uu muujinayo in u haajiridda hal keli ah una guurto adeeg-yaryar ay aad u badan tahay. Kakanaanta ma baaba'do; waxay si fudud uga guurtaa qaybo gaar ah una guurto is-dhexgal (ha ahaato basaska xogta, RPC, API-yada, iyo borotokoollada kale) iyo nidaamyada habaynta. Tanina way adag tahay!

Faa'iidada isticmaalka xirmo kala duwan ayaa sidoo kale la is weydiin karaa. Kuma doodi doono in tani ay sidoo kale suurtogal tahay, laakiin dhab ahaantii waa dhif inay dhacdo (Fiiri hore - tani waa inay dhacdaa - laakiin halkii ay ka dhalan lahayd faa'iido).

Wareegga nolosha badeecada iyo wareegga nolosha adeegga

Bal eeg jaantuska sare. Maaha wax nasiib ah in aan xusay hoos u dhaca wareegga nolosha ee nooc gaar ah oo ganacsi ah - xaaladaha casriga ah, waa dardargelinta kala-guurka ganacsiga ee u dhexeeya noocyada kuwaas oo go'aaminaya guushiisa. Guusha badeecada waxaa lagu go'aamiyaa xawaaraha tijaabinta mala-awaalka ganacsiga ee ku jira. Oo halkan, fikradayda, been faa'iidada muhiimka ah ee dhismaha microservice. Laakiin aan u kala horrayno.

Aan u gudubno marxaladda xigta ee kobcinta nidaamyada macluumaadka - xagga qaab-dhismeedka adeegga ku- jihaysan ee SOA. Markaa, waqti cayiman ayaanu ku iftiiminay badeecadeena adeegyo cimri dheer - muddo dheer ku noolaa dareenka in marka u dhexeeya noocyada alaabta, waxaa jira fursad ah in wareegga nolosha ee adeeggu uu ka dheeraan doono wareegga nolosha ee nooca xiga ee alaabta. Waxay noqon lahayd macquul ah in aan la beddelin gabi ahaanba - annagu Waxa muhiimka ah waa xawaaraha u gudubka nooca xiga. Laakiin hoog, waxaa nalagu qasbay inaan isbeddelo joogto ah ku samayno adeegyada - oo halkan wax walba way noo shaqeeyaan, DevOps dhaqanka, weel dhigista, iyo wixii la mid ah - wax kasta oo maskaxda ku soo dhaca. Laakiin kuwani weli maaha adeeg-yaraha!

Adeegga yar-yar si loola dagaallamo kakanaanta... maamulka qaabeynta

Oo halkan waxaan ugu dambeyntii u gudbi karnaa doorka qeexida microservices - tani waa hab fududeynaya maareynta qaabeynta alaabta. Si aad u faahfaahsan, shaqada microservice kasta waxay qeexaysaa sida saxda ah shaqada ganacsiga ee gudaha alaabta iyadoo loo eegayo qaabka domain - iyo kuwanu waa waxyaabo aan ku noolayn nooca gaaban, laakiin fursad ganacsi oo dheer. Iyo u gudubka nooca xiga ee badeecadu waxay dhacdaa macno la'aan - waxaad bedeshaa / ku dartaa hal adeeg micro, iyo laga yaabee kaliya nidaamka isdhexgalka, oo si lama filaan ah ayaad mustaqbalka u heli doontaa, adigoo ka tagaya tartamayaasha ooyaya kuwaas oo sii wada boodaya inta u dhaxaysa noocyada monolithkooda. Hadda ka fikir in ay jiraan tiro aad u badan oo adeeg-yar oo leh is-dhexyaal hore loo sii qeexay iyo awoodo ganacsi. Oo waxaad u timid oo aad ka dhistaa qaab-dhismeedka alaabtaada adeeg-yar oo diyaarsan - si fudud adoo sawiraya jaantus, tusaale ahaan. Hambalyo - waxaad leedahay madal - oo hadda waxaad soo jiidan kartaa ganacsiga naftaada. Riyada Riyada.

natiijooyinka

  • Qaab dhismeedka nidaamka waa in lagu go'aamiyaa meertada nolosha ee qaybaheeda. Haddii qayb ka mid ah ay ku nooshahay nooca badeecada, ma jirto wax faa'iido ah oo lagu kordhinayo kakanaanta nidaamka iyada oo la adeegsanayo habka adeeg-yaraha.
  • Nashqadaynta adeegga Microservice waa in lagu saleeyaa qaabka domainka - sababtoo ah fursada ganacsigu waa goobta ugu cimriga dheer
  • Hababka gaarsiinta (dhaqannada DevOps) iyo abaabulku waa mid ka mid ah kuwa ugu muhiimsan qaab-dhismeedka adeegga-yaraha - sababta oo ah kororka heerka isbeddelka qaybaha ayaa kordhiya dalabaadka xawaaraha iyo tayada bixinta

Source: www.habr.com

Add a comment