Tijaabinta Microservices - Hagaha bilowga ah

Tijaabinta Microservices waxay noqoneysaa mid aad iyo aad muhiim u ah iyadoo qaar badan oo ka mid ah codsiyada cusub lagu dhisayo iyadoo la adeegsanayo naqshadaha Microservices.

Kahor intaanan awoodin inaan aragno sida loo tijaabiyo microservices, waxaan marka hore u baahannahay inaan fahanno waxay yihiin.



Waa maxay Microservices?

Microservice waxaa lagu qeexay qaab dhismeedka qaab dhismeedka, qaab lagu horumarinayo hal codsi oo ah nooc ka mid ah adeegyada. Adeeg kasta waxaa lagu qeexaa astaamahiisa oo qaarkood yihiin:


  • Ku socodsiinta hawsheeda.
  • Ku wada xiriirida farsamooyin miisaanka fudud oo badanaa leh HTTP resource API.
  • Si madaxbanaan loogu daabulo mashiin si otomaatig ah u shaqeeya.
  • Adeegsiga luqadaha kala duwan ee barnaamijyada / teknolojiyada / DB.
  • Wuxuu adeegsanayaa teknoolojiyada keydinta xogta kala duwan.

Qaab dhismeedka microservice wuxuu ku lugleeyahay soo saarida hal codsi oo wada shaqeyn kara iyadoo loo adeegsanaayo adeegyo yar yar, mid walbana wuxuu ku shaqeynayaa hanaankiisa shaqsiyeed wuxuuna la xiriirayaa habab fudud sida HTTP resource API. Adeegyadan waxay u baahan yihiin maareyn dhexe oo ugu yar, waxay adeegsadaan teknoolojiyada keydinta xogta kala duwan, waxaana lagu qori karaa luqado kala duwan oo barnaamijyo ah. Adeegyadan, oo lagu dhisay hareeraha awoodaha ganacsiga, sidoo kale waxaa loo geyn karaa si madax-bannaan mashiinno taageeraya geynta si otomaatig ah u shaqeynaya.

Astaamaha Microservices:


  • Lagu abaabulay karti ganacsi,
  • Gelinta otomaatiga ah,
  • Sirdoonka astaamaha halkii laga adeegsan lahaa baska,
  • Xakamaynta baahinta luqadaha iyo xogta.


Sidee Microservices uga duwan yihiin SOA

  • Naqshad dhismeedka adeegga (SOA): qaab dhismeedka naqshadeynta softiweerka kumbuyuutarka kaas oo qaybaha dalabku ay ku siiyaan adeegyo qaybaha kale iyada oo loo marayo borotokoolka isgaarsiinta, sida caadiga ah shabakad.
  • Microservices : Qaab dhismeedka softiweer oo barnaamijyada isku dhafan ay ka kooban yihiin habab yar oo madax-bannaan oo lagula xiriiro midba midka kale iyadoo la adeegsanayo APIs-aqoon-is-weydaarsi

Tusaale:

Haddii Uber lagu dhisay SOA, adeegyadooda waxay noqon karaan:

  • GetPaymentsAndDriverInformationAndMappingDataAPI
  • Xaqiiji UsersAndDriversAPI

Haddii Uber lagu dhisay mikroservices, API-yadooda ayaa laga yaabaa inay la mid yihiin:

  • Gudbinta Adeegyada
  • Adeegga GetDriverInfoService
  • Adeegga GetMappingDataService
  • XaqiijiUserService
  • XaqiijiDriverService

APIs badan, xilal yar yar.




Sida loo tijaabiyo Microservices

Tijaabooyinka Cutubka

Tijaabooyinka cutubku waxay jimicsadaan qaybaha yar yar ee softiweerka sida shaqada ku jirta arjiga si loo go'aamiyo inay soo saaraan wax soo saar la doonayo iyo in la helo wax soo saar la yaqaan.

Waxaa xusid mudan in tijaabada unugyada kaligood aysan bixinaynin dammaanad qaad ku saabsan habdhaqanka nidaamka. Waxaan u baahanahay noocyo kale oo baaris ah oo loogu talagalay qalabka wax lagu beddelo.

Tijaabooyinka Qeybaha

Mar alla markii aan qaadnay tijaabada cutubka ee dhammaan howlaha ku dhex jira microservice, markaa waxaan u baahanahay inaan ku tijaabino microservice laftiisa kelinimo.

Caadi ahaan, codsi wuxuu ka koobnaan doonaa tiro microservices ah, sidaa darteed si aan u tijaabino keli ahaanta, waxaan u baahanahay inaan ku jeesjeeso microservices kale.


Imtixaannada qaybaha waxay sidoo kale tijaabin doonaan isdhexgalka microservice iyada oo ay ku tiirsan yihiin sida xog-ururin, dhammaan hal unug.

Tijaabooyinka Is-dhexgalka

Ka dib markaan xaqiijinay shaqeynta microservice kasta, markaa waxaan u baahanahay inaan tijaabino isgaarsiinta adeegga. Tijaabada isdhexgalka ayaa cadeyneysa wadiiqooyinka isgaarsiinta iyo isdhexgalka ka dhexeeya qaybaha si loo ogaado ciladaha is dhexgalka

Wicitaanada adeegga waa in lagu sameeyaa isdhexgalka adeegyada dibadda, oo ay ku jiraan qaladaadka iyo kiisaska guusha, markaa, tijaabinta isdhexgalka waxay xaqiijineysaa in nidaamku si wada jir ah u shaqeynayo isla markaana ku tiirsanaanta adeegyada ay joogaan sidii la filayay.

Tijaabooyinka Qandaraaska

Tijaabooyinka qandaraasku waxay xaqiijinayaan isdhexgalka xadka adeegga dibedda iyadoo caddaynaysa inay la kulantay qandaraaska ay fileyso adeegga wax gubaya.


Tijaabinta noocan ah waa in loola dhaqmaa adeeg kasta sidii sanduuqa madow oo dhammaan adeegyada waa in loogu yeeraa si madax bannaan oo waa in la hubiyaa jawaabahooda.

“Qandaraas” waa sida wacitaanka adeegga (halkaasoo natiijo gaar ah ama wax soo saar laga filayo wax soo saarka qaarkood) loogu gudbiyo baaritaanka qandaraaska macaamilka. Macaamiil kasta waa inuu ka helaa isla natiijooyinka adeegga waqti ka dib, xitaa haddii adeeggu is beddelo. Waa inuu jiraa dabacsanaan si loogu daro howlo badan sida looga baahan yahay Jawaabaha goor dambe. Si kastaba ha noqotee, ku daritaannadani waa inaysan jebin shaqeynta adeegga.

Imtixaanada Dhamaad-Dhamaadka

Doorka tijaabooyinka dhamaadka-dhamaadka waa in la hubiyo in wax walba ay isku xirmaan oo aysan jirin wax khilaafaad heer sare ah oo u dhexeeya microservices.

Imtixaanada dhamaadka-dhamaadka waxay xaqiijinayaan in nidaamku uu buuxiyo shuruudaha dibada uuna gaaro himilooyinkiisa, tijaabinta nidaamka oo dhan, min dhamaadka ilaa dhamaadka.


Imtixaannadu sidoo kale waxay xaqiijinayaan in nidaamka oo dhan iyo adeegsadaha socodka si sax ah u shaqeeyaan, oo ay ku jiraan dhammaan adeegga iyo isdhexgalka DB. Tijaabinta hawlgallada saamaynaya adeegyada badan waxay xaqiijineysaa in nidaamku si wada jir ah u wada shaqeeyo oo uu qanciyo dhammaan shuruudaha.



Tusaalaha Tijaabada Microservices

Aynu qaadanno adeegga yar-yar KU taasi waxay kuxirantahay laba adeeg oo kale B & C . Waxaad ubaahantahay inaad dejiso jawi go'doonsan halkaasoo gobolka KU , B iyo C waa mid si fiican loo qeexay oo si isdaba joog ah ayaa loo dejin karaa.

Tusaale ahaan, gobolka / keydinta B iyo C waa in horay loo sii qoraa. Intaa ka dib, waxaad kaliya ordaa tijaabooyin tijaabo ah oo lagu tijaabiyo API-yada microservice KU iyadoo la isticmaalayo qalabka caadiga ah ee REST / WebService oo ah qalab tijaabo ah, tusaale ahaan. SAABUUN ama Chakram ama xUnit fudud oo loogu talagalay luuqaddaada barnaamijka.

Ku jeesjeeso adeeg kasta oo asaaga ah API wuxuu ku xiran yahay isticmaalka restito. Beddelka kale waxaa ka mid ah nasashada-wadaha, WireMock, iyo Mochito.

Caqabada muuqata ayaa ah jeesjees / been abuur xisbiga 3-aad ee loo yaqaan 'APIs' marka la sameynayo baaritaanka isku dhafka mikroservices. Waad isticmaali kartaa qalab kasta oo jees jees ah oo aan kor ku soo xusnay, kaliya ku daawee majaajillada qayb ka mid ah qalabkayaga tijaabada ah isla markaana hubi inaad cusbooneysiineyso sii deynta cusub ee API.