Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Salaamu caleykum Waxaan haynaa war wanaagsan, OTUS waxay bilaabaysaa koorsada markale bisha Juun "Software Architect", taas oo la xiriirta dhaqan ahaan aan kula wadaagno waxyaabo waxtar leh.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Haddii aad la kulanto dhammaan shaygan adeeg-yaraha iyada oo aan wax macno ah lahayn, waa lagu cafiyi doonaa inaad u maleyso inay tahay wax yar oo la yaab leh. U kala qaybinta arjiga jajabka ku xiran shabakadu waxay la macno tahay in lagu daro hababka dulqaadashada ee adag nidaamka la qaybiyey.

Inkasta oo habkani uu ku lug leeyahay in loo kala qaybiyo adeegyo badan oo madaxbannaan, yoolka ugu dambeeya ayaa aad uga badan in adeegyadaas lagu shaqeeyo mashiinno kala duwan. Waxaan halkan uga hadlaynaa isdhexgalka dibadda, kaas oo sidoo kale loo qaybiyay nuxurkiisa. Ma aha xagga farsamada, laakiin waa macnaha nidaamka deegaanka oo ka kooban dad badan, kooxo, barnaamijyo, iyo mid kasta oo ka mid ah qaybahan waxay u baahan yihiin inay si uun u qabsadaan shaqadooda.

Shirkadaha, tusaale ahaan, waa ururin nidaamyo la qaybiyey kuwaas oo si wadajir ah gacan uga geysta gaaritaanka yoolka qaar. Waxaan iska indhatiray xaqiiqadan muddo tobanaan sano ah, anagoo isku daynay in aan ku gaarno midawga FTPing faylalka ama adeegsiga aaladaha is dhexgalka ganacsiga annagoo diiradda saarayna yoolalkayada gaarka ah. Laakin imaanshaha adeegyada, wax walba way is beddeleen. Adeegyadu waxa ay naga caawiyeen in aynu eegno meel ka durugsan aragtida fog oo aynu aragno adduunyo barnaamijyo isku xidhan oo wada shaqeeya. Si kastaba ha ahaatee, si si guul leh loogu shaqeeyo, waxaa lagama maarmaan ah in la aqoonsado oo la naqshadeeyo laba adduun oo aasaasi ah oo kala duwan: adduunka dibadda, oo aan ku noolnahay nidaamka deegaanka ee adeegyo kale oo badan, iyo adduunkeena shakhsi ahaaneed, gudaha, halkaas oo aan kaligaa ka talineyno.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Dunidan la qaybiyey way ka duwan tahay tii aynu ku soo koray ee aynu caadaysanay. Mabaadi'da lagu dhisayo qaab-dhismeedka monolithic ee soo jireenka ah kama soo baxaan dhaleeceynta. Markaa in nidaamyadan la saxo waxay ku saabsan tahay in ka badan abuurista jaantus cad oo qabow ama caddayn fiican oo fikradeed. Ujeedadu waa in la hubiyo in nidaamkan oo kale uu si guul leh u shaqeeyo muddo dheer. Nasiib wanaag, adeegyadu waxay jireen in muddo ah, in kasta oo ay u muuqdaan kuwo ka duwan. Duruusta SOA weli waa khuseeya, xitaa xilli leh Docker, Kubernetes iyo gadh yar oo xiiqsan.

Markaa maanta waxaynu eegi doonaa sida xeerarku isu bedeleen, sababta aan ugu baahanahay inaan dib uga fikirno habka aan u wajahno adeegyada iyo xogta ay isu gudbiyaan, iyo sababta aan ugu baahanahay qalabyo kala duwan si aan u samayno.

Soo koobid had iyo jeer saaxiibkaa ma noqon doonto

Adeegyada yaryar waxay u shaqayn karaan si madaxbannaan midba midka kale. Waa hantidan tan siinaysa qiimaha ugu weyn. Isla hantidaas waxay u ogolaataa adeegyada inay cabbiraan oo ay koraan. Ma aha wax aad u badan oo ku saabsan dareenka miisaanka quadrillions ee isticmaalayaasha ama petabytes ee xogta (in kasta oo kuwaa ay sidoo kale ku caawin karaan halkaas), laakiin macnaha miisaanka marka la eego dadka sida kooxaha iyo ururadu u koraan si joogto ah.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Si kastaba ha ahaatee, madaxbannaanidu waa seef laba af leh. Taasi waa, adeegga laftiisu wuxuu u socon karaa si fudud oo dabiici ah. Laakin haddii shaqo laga dhex fuliyo adeeg u baahan adeegsiga adeeg kale, markaas waxaan ku dhammaaneynaa inaan isbedel ku sameyno labada adeeg isku mar. monolith kani waa sahlan tahay in la sameeyo, kaliya isbedel samee oo u dir si loo sii daayo, laakiin kiiska isku-dhafka adeegyada madax-bannaan waxaa jiri doona dhibaatooyin badan. Isku-dubbaridka u dhexeeya kooxaha iyo wareegyada sii-deynta waxay burburisaa awoodda.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Iyada oo qayb ka ah habka caadiga ah, waxay si fudud isku dayaan inay iska ilaaliyaan isbeddellada dhamaadka-ilaa-dhamaadka dhibsada, iyagoo si cad u kala qaybinaya shaqaynta adeegyada. Adeegga saxeexa keliya ayaa halkan tusaale fiican u noqon kara. Waxay leedahay door si cad loo qeexay oo ka duwan adeegyada kale. Kala-soociddan cad waxay la macno tahay in adduunyada isbeddelka degdega ah ee dalabaadka adeegyada ku xeeran, ay u badan tahay in adeegga saxeexa keliya aanu isbeddelin. Waxay ku dhex jirtaa xaalad xaddidan.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Dhibaatadu waxay tahay in adduunka dhabta ah, adeegyada ganacsigu ma ilaalin karaan kala-saar saafi ah ee doorarka mar kasta. Tusaale ahaan, adeegyo ganacsi oo isku mid ah ayaa si aad ah ugu shaqeeya xogta ka imanaysa adeegyada kale ee la midka ah. Haddii aad ku lug leedahay tafaariiqda khadka tooska ah, ka dib habaynta nidaamka socodka, buug-gacmeedka alaabta ama macluumaadka isticmaalaha ayaa noqon doona shuruudo badan oo ka mid ah adeegyadaada. Mid kasta oo ka mid ah adeegyada ayaa u baahan doona helitaanka xogtan si ay u shaqeyso.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada
Inta badan adeegyada ganacsigu waxay wadaagaan xog isku mid ah, sidaa awgeed shaqadoodu si aan kala go' lahayn ayay isugu xidhan tahay.

Markaa waxaynu ku soo gaadhnay qodob muhiim ah oo mudan in laga hadlo. Iyadoo adeegyadu ay si fiican ugu shaqeeyaan qaybaha kaabayaasha ee inta badan ku shaqeeya go'doon, badi adeegyada ganacsigu waxay ku dhamaanayaan inay si aad ah isugu xidhan yihiin.

Kala-duwanaanta xogta

Hababka ku jihaysan adeegga ayaa laga yaabaa inay horeba u jireen, laakiin wali waxay ka maqan yihiin fahanka sida loo wadaago tiro badan oo xog ah inta u dhaxaysa adeegyada.

Dhibaatada ugu weyni waa in xogta iyo adeegyadu ay yihiin kuwo aan la kala saari karin. Dhinaca kale, soo koobiddu waxay nagu dhiirigelinaysaa inaan qarino xogta si adeegyada loo kala saaro midba midka kale una fududeeyo koritaankooda iyo isbeddello kale. Dhanka kale, waxaan u baahannahay inaan awoodno inaan si xor ah u qaybsano oo aan uga adkaano xogta la wadaago, sida xogta kale. Ujeedadu waa in la awoodo in aad isla markiiba bilowdo shaqada, si xor ah sida nidaamka macluumaadka kale.

Si kastaba ha ahaatee, nidaamyada macluumaadka ayaa wax yar ka qabta soo koobidda. Dhab ahaantii, waa arrin ka soo horjeeda. Database-yadu waxay sameeyaan wax kasta oo ay awoodaan si ay u helaan xogta ay kaydiyaan. Waxay la yimaadaan is-dhexgal dhawaaqeed oo awood leh oo kuu oggolaanaya inaad wax ka beddesho xogta sida aad u baahan tahay. Hawlaha noocan oo kale ah ayaa muhiim u ah marxaladda cilmi-baarista ee hordhaca ah, laakiin maaha maaraynta kakanaanta sii kordheysa ee adeegga joogtada ah ee kobcaya.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Oo halkan laba daran mid dooro. Iska hor imaad. Dichotomy Ka dib oo dhan, nidaamyada macluumaadka waxay ku saabsan yihiin bixinta xogta, adeegyaduna waxay ku saabsan yihiin qarinta.

Labadan ciidan waa aasaas. Waxay xoojiyaan in badan oo ka mid ah shaqadeena, iyagoo si joogto ah ugu dagaallamaya heerka sare ee nidaamyada aan dhisno.

Marka nidaamyada adeeggu koraan oo ay horumaraan, waxaan u aragnaa cawaaqibka kala-soocidda xogta siyaabo badan. Midkood adeeguhu wuu kori doonaa, isagoo siinaya hawl-qabadyo kala duwan oo sii kordhaya oo bilaabaya inay u ekaadaan xog ururin guri oo aad u qurux badan, ama waxaanu noqon doonaa niyad jab oo waxaanu hirgelin doonaa hab aan ku soo ceshano ama u guurno guud ahaan xogta adeeg ilaa adeeg.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Taa baddalkeeda, abuurista shay u eg xog-ururin guri oo qurux badan waxay u horseedi doontaa dhibaatooyin badan. Faahfaahin kama bixin doono sababta ay khatarta u tahay database la wadaago, aynu nidhaahno waxay ka dhigan tahay injineernimo qaali ah iyo hawlgelin dhibaatooyin ee shirkadda isku dayaysa inay isticmaasho.

Waxa ka sii daran waa in tirada xogta ay kor u qaaddo dhibaatooyinka xadka adeegga. Inta badan xogta la wadaago ayaa ku dhex jirta adeegga, inta badan is-dhexgalku wuu noqon doonaa waxaana aad u adkaan doonta in la isku daro xogta xogta ee ka imanaysa adeegyada kala duwan.

Habka kale ee soo saarista iyo dhaqaajinta dhammaan xogta xogta ayaa sidoo kale leh dhibaatooyinkeeda. Habka caadiga ah ee su'aashan waxay u egtahay in si fudud loo soo saaro oo loo kaydiyo dhammaan xogta, ka dibna lagu kaydiyo gudaha adeeg kasta oo cunaya.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Dhibaatadu waxay tahay in adeegyada kala duwan ay u fasiraan xogta ay isticmaalaan si kala duwan. Xogtan had iyo jeer waa gacanta. Waxa wax laga beddelay oo lagu farsameeyaa gudaha. Si dhakhso ah ayay u joojiyaan inay wax la wadaagaan xogta isha.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada
Mar kasta oo koobiyada la bedeli karo, xogtu way kala duwanaan doontaa waqti ka dib.

Waxaa ka sii daran, xogtan oo kale way adag tahay in dib loo saxo (MDM Tani waa meesha ay si dhab ah uga iman karto samatabbixinta). Dhab ahaantii, qaar ka mid ah dhibaatooyinka tignoolajiyada ee aan la dabooli karin ee ganacsiyadu la kulmaan waxay ka yimaadaan xogta kala duwan ee ku dhufashada codsi ilaa codsi.

Si aan xal ugu helno dhibaatadan, waxaan u baahanahay inaan si ka duwan uga fikirno xogta la wadaago. Waa inay noqdaan walxaha heerka koowaad ee dhismayaasha aan dhisno. Pat Helland wuxuu ugu yeeraa xogtan oo kale "dibadeed", tanina waa muuqaal aad muhiim u ah. Waxaan u baahanahay koobis si aynaan u soo bandhigin shaqada gudaha ee adeega, laakiin waxaan u baahanahay inaan u fududeyno adeegyada inay helaan xogta la wadaago si ay si sax ah u gutaan shaqadooda.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Dhibaatadu waxay tahay in labada hab midna aanu khusayn maanta, mar haddii is-dhexgalka adeegga, ama fariimaha, ama Database-ka la wadaago aysan bixin xal wanaagsan oo ku saabsan ku shaqeynta xogta dibadda. Isku xirka adeeggu aad uguma habboona isweydaarsiga xogta miisaan kasta. Fariintu waxay dhaqaajisaa xogta laakiin ma kaydiso taariikhdeeda, sidaa awgeed xogtu waxay noqotaa mid kharriban muddo ka dib. Xogta la wadaago ayaa aad diiradda u saareysa hal dhibic, kaas oo dib u dhigaya horumarka. Waxaan si lama huraan ah ugu dheggannahay wareegga xogta oo fashilantay:

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada
Wareega xogta fashilantay

Streams: hab baahinta xogta iyo adeegyada

Fikrad ahaan, waxaan u baahanahay inaan bedelno habka ay adeegyadu ugu shaqeeyaan xogta la wadaago. Halkaa marka ay marayso, labada habba waxay wajahayaan dichotomy-ka aan soo sheegnay, maadaama aysan jirin boodh sixir ah oo lagu rusheeyey si ay meesha uga baxdo. Si kastaba ha ahaatee, dib ayaan uga fekeri karnaa dhibaatada oo aan gaarno heshiis.

Tanaasulku waxa uu ku lug leeyahay heer go'an oo dhexe. Waxaan isticmaali karnaa habka loo qaybiyey log sababtoo ah waxay bixisaa la isku halayn karo, durdurro la cabbiri karo. Waxaan hadda rabnaa in adeegyadu ay awood u yeeshaan in ay ku biiraan oo ay ku shaqeeyaan dunta la wadaago, laakiin waxaan rabnaa inaan ka fogaano Adeegyada Ilaah dhexe ee isku dhafan ee sameeya habkan. Sidaa darteed, ikhtiyaarka ugu fiican waa in la dhiso hab-socodka socodka adeeg kasta oo macaamiisha ah. Sidan, adeegyadu waxay awood u yeelan doonaan inay isku daraan xogta laga helo ilo kala duwan oo ay ula shaqeeyaan sida ay u baahan yihiin.

Mid ka mid ah dariiqooyinka lagu gaaro habkan waa iyada oo la isticmaalo aaladda qulqulka. Waxaa jira xulashooyin badan, laakiin maanta waxaan eegi doonaa Kafka, tan iyo isticmaalka Nidaamkeeda Dhaqangelinta Dawladeed waxay noo ogolaaneysaa inaan si wax ku ool ah u xalino dhibaatada la soo bandhigay.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Isticmaalka habka loo qaybiyo qaybsan ayaa noo ogolaanaysa inaan raacno dariiqa si wanaagsan loo maro oo aan u isticmaalno fariimaha si aan ula shaqeyno nashqada-dhismaha dhacdo. Habkan waxaa loo arkaa inuu bixiyo miisaan iyo qaybin ka wanaagsan habka jawaabta codsiga sababtoo ah waxay siinaysaa xakamaynta qulqulka qaataha halkii ay ka ahaan lahayd soo diraha. Si kastaba ha noqotee, wax kasta oo noloshan ah waa inaad bixisaa, halkanna waxaad u baahan tahay dallaal. Laakiin nidaamyada waaweyn, ka-ganacsigu waa u qalantaa (taas oo laga yaabo inaysan ahayn kiiskaaga celceliska codsigaaga shabakadda).

Haddii dilaal uu mas'uul ka yahay gooynta qaybsan halkii uu ka ahaan lahaa nidaamka fariimaha dhaqameed, waxaad ka faa'iideysan kartaa sifooyin dheeraad ah. Gaadiidku si toos ah ayuu u cabbiri karaa iyo sidoo kale nidaamka faylalka la qaybiyay. Xogta waxa lagu kaydin karaa diiwaanka muddo dheer, markaa ma helno oo keliya isdhaafsiga fariimaha, laakiin sidoo kale kaydinta macluumaadka. Kaydinta la qiyaasi karo iyada oo aan cabsi laga qabin xaalad la wadaagi karo.

Waxaad markaa isticmaali kartaa habaynta socodka dawladeed si aad ugu darto agab xog-ururin si aad u isticmaasho adeegyada. Tani waa fikrad aad muhiim u ah. Iyadoo xogta lagu kaydiyo durdurrada la wadaago ee dhammaan adeegyada ay heli karaan, isku-darka iyo habaynta adeeggu waa mid gaar ah. Waxay isku arkaan inay ku go'doonsan yihiin xaalad xaddidan.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada
Ciribtirka kala-duwanaanta xogta adoo kala saaraya qulqulka gobolka ee aan bedeli karin. Kadibna ku dar shaqadan adeeg kasta adiga oo isticmaalaya Nidaaminta Socodka Dawladeed.

Sidaa darteed, haddii adeeggaagu u baahan yahay inuu la shaqeeyo amarada, buug-gacmeedka alaabta, bakhaar, wuxuu heli doonaa si buuxda: kaliya waxaad go'aamin doontaa xogta la isku darayo, meesha laga shaqeeyo iyo sida ay tahay inay isbeddelaan waqti ka dib. In kasta oo xaqiiqda ah in xogta la wadaago, la shaqeynta si buuxda ayaa loo baahsan yahay. Waxa lagu soo saaraa adeeg kasta, adduunyo ay wax walba ku socdaan si waafaqsan xeerarkaaga.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada
La wadaag xogta adoon wax u dhimayn daacadnimadeeda. Ku soo koob shaqada, ma aha isha, adeeg kasta oo u baahan.

Waxay dhacdaa in xogta loo baahan yahay in si ballaaran loo dhaqaajiyo. Mararka qaarkood adeegu wuxuu u baahan yahay kaydka xogta taariikhiga ah ee matoorka xogta ee la doortay. Khiyaamada ayaa ah inaad dammaanad qaadi karto, haddii loo baahdo, koobi laga soo celin karo isha iyadoo la gelayo habka loo qaybiyo qaybinta. Xidhiidhiyayaasha Kafka waxay qabtaan shaqo fiican tan.

Haddaba, habka maanta laga hadlay wuxuu leeyahay faa'iidooyin dhowr ah:

  • Xogta waxa loo isticmaalaa qaab ka mid ah durdurrada caadiga ah, kuwaas oo lagu kaydin karo qoraallo muddo dheer ah, iyo habka lagu shaqaynayo xogta guud waa mid adag oo ku salaysan xaalad kasta oo shakhsi ah, taas oo u oggolaanaysa adeegyadu inay si fudud oo degdeg ah u shaqeeyaan. Sidan, kala qaybsanaanta xogta ayaa lagu miisaami karaa.
  • Xogta ka imanaysa adeegyo kala duwan ayaa si fudud loogu dari karaa qaybo. Tani waxay fududaynaysaa is dhexgalka xogta la wadaago waxayna meesha ka saaraysaa baahida loo qabo in lagu ilaaliyo kaydka xogta gudaha ee kaydka
  • Nidaaminta qulqulka dawladeed kaliya waxay kaydisaa xogta, isha runtuna waxay ahaanaysaa diiwaannada guud, markaa dhibaatada xogta musuqmaasuqa ee wakhtiga ma aha mid aad u daran.
  • Asal ahaan, adeegyadu waa xog-raacis, taasoo la macno ah in kasta oo ay sii kordhayaan tirada xogta, adeegyadu wali waxay si dhakhso ah uga jawaabi karaan dhacdooyinka ganacsiga.
  • Arrimaha miisaanku waxay ku dhacaan dallaalka, maaha adeegyada. Tani waxay si weyn u yaraynaysaa kakanaanta adeegyada qorista, maadaama aysan jirin baahi loo qabo in laga fekero miisaanka.
  • Ku darista adeegyo cusub uma baahna in la beddelo kuwii hore, markaa isku xidhka adeegyada cusub ayaa fududaanaya.

Sida aad arki karto, tani way ka badan tahay kaliya nasashada. Waxa aanu helnay qalabyo kala duwan oo kuu ogolaanaya in aad xogta la wadaago ugu shaqeyso si baahsan.

Dhammaan dhinacyada laguma soo qaadin maqaalka maanta. Waxaan weli u baahanahay inaan ogaano sida loo dheelitirayo inta u dhaxaysa jaantuska ka jawaabida codsiga iyo jaantuska ay horseedday dhacdada. Laakiin tan ayaan wax ka qaban doonaa marka xigta. Waxaa jira mowduucyo aad u baahan tahay si aad si fiican u barato, tusaale ahaan, sababta Hab-socodka Socodsiinta Dawladeed ay aad u wanaagsan tahay. Waxaynu kaga hadli doonaa qodobka saddexaad. Waxaana jira dhismayaal kale oo awood leh oo aan ka faa'iidaysan karno haddii aan u isticmaalno, tusaale ahaan. Sida saxda ah Marka la farsameeyo. Waa beddelka ciyaarta nidaamyada ganacsiga ee la qaybiyey sababtoo ah waxay bixisaa dammaanad qaadka wax kala iibsiga XA qaab la qiyaasi karo. Tan waxaa looga hadli doonaa qodobka afraad. Ugu dambeyntii, waxaan u baahan doonaa inaan dulmarno tafaasiisha fulinta ee mabaadi'daas.

Kala-duwanaanta xogta: dib-u-eegista xidhiidhka ka dhexeeya xogta iyo adeegyada

Laakiin hadda, kaliya xasuuso tan: dichotomy xogtu waa awood aan wajahno markaan dhiseyno adeegyada ganacsiga. Waana inaan tan xasuusannaa. Khiyaamada ayaa ah in wax walba loo rogo madaxeeda oo la bilaabo daaweynta xogta la wadaago sida walxaha heerka koowaad. Nidaaminta Socodka Dawladeed waxay siinaya tanaasul gaar ah tan. Waxay ka fogaanaysaa "Ilaah Qaybaha" dhexe ee dib u dhigaya horumarka. Waxaa intaa dheer, waxay hubisaa awoodda, miisaanka iyo adkeysiga ee dhuumaha qulqulka xogta waxayna ku daraysaa adeeg kasta. Sidaa darteed, waxaan diiradda saari karnaa qulqulka guud ee miyir-qabka kaas oo adeeg kasta uu ku xiri karo oo uu ku shaqeyn karo xogtiisa. Tani waxay ka dhigaysaa adeegyadu kuwo la miisaami karo, la isweydaarsan karo oo madax bannaan. Markaa kaliya kuma eegi doonaan sabuuradaha cadcad iyo imtixaanada mala awaalka, laakiin waxay sidoo kale shaqayn doonaan oo ay kobcin doonaan tobanaan sano.

Wax badan ka baro koorsada.

Source: www.habr.com

Add a comment