Naqshadeynta Nidaamyada Software-ka: Sawirka Weyn iyo Hagaha Kheyraadka

Salaan asxaabta

Maanta waxaan kuu soo bandhigeynaa tixgelintaada tarjumaada maqaal uu qoray Tugberk Ugurlu, kaas oo ku dhaqaaqay in uu mug yar ku qeexo mabaadi'da naqshadeynta nidaamyada software-ka casriga ah. Waa tan waxa qoraagu ka yidhi naftiisa isaga oo kooban:

Naqshadeynta Nidaamyada Software-ka: Sawirka Weyn iyo Hagaha Kheyraadka
Maaddaama aysan gabi ahaanba suurtogal ahayn in lagu daboolo maqaalka habro mawduuca muhiimka ah sida qaababka naqshadaha + qaababka naqshadeynta ee 2019, waxaan ku talineynaa kaliya maaha qoraalka Mr. Uruglu laftiisa, laakiin sidoo kale xiriiriyeyaasha tirada badan ee uu si naxariis leh ugu soo daray. Haddii aad jeceshahay, waxaanu daabici doonaa qoraal aad u gaar ah oo ku saabsan naqshadaynta nidaamyada la qaybiyey.

Naqshadeynta Nidaamyada Software-ka: Sawirka Weyn iyo Hagaha Kheyraadka

Sawir qaade Isaac Smith ka Unsplash

Haddii aadan waligaa la kulmin caqabadahaas sida naqshadeynta nidaamka software ee xoqan, ka dibna markaad bilowdo shaqadan, mararka qaarkood xitaa ma cadda meesha laga bilaabo. Waxaan aaminsanahay inaad marka hore u baahan tahay inaad sawirto xuduudaha si aad u hesho fikrad kalsooni badan ama ka yar oo ku saabsan waxa dhabta ah ee aad qorsheyneyso, ka dibna gacmahaaga kor u qaad oo ka shaqeyso xuduudahaas. Bar bilow ahaan, waxaad qaadan kartaa shay ama adeeg (sida ugu fiican ee aad jeceshahay) oo waxaad ogaan kartaa sida loo hirgeliyo. Waxaa laga yaabaa inaad la yaabto sida fudud ee alaabtani u egtahay, iyo inta kakanaanta ay dhab ahaantii ka kooban tahay. Ha ilaawin: fudud - caadi ahaan adag, taasina waa caadi.

Waxaan u maleynayaa in talada ugu fiican ee aan siin karo qof kasta oo bilaabaya naqshadeynta nidaamka inay tahay tan: ha samayn wax malo ah! Laga bilaabo bilowga hore, waxaad u baahan tahay inaad qeexdo xaqiiqooyinka laga yaqaan nidaamkan iyo waxyaabaha laga filayo ee la xidhiidha. Waa kuwan qaar ka mid ah su'aalaha wanaagsan ee la waydiinayo si ay kaaga caawiyaan inaad bilowdo naqshadayntaada:

  • Waa maxay dhibaatada aan isku dayeyno inaan xalino?
  • Waa imisa tirada ugu badan ee isticmaalayaasha ee la falgali doona nidaamkayaga?
  • Waa maxay qaababka qoraalka iyo xogta aan isticmaali doono?
  • Maxay yihiin kiisaska guul-darrooyinka la filayo, sidee ayaan u maareyn doonnaa?
  • Waa maxay waxyaabaha laga filayo joogteynta nidaamka iyo helitaanka?
  • Ma tahay inaad tixgeliso wax shuruudo ah oo la xidhiidha xaqiijinta dibadda iyo xeerinta markaad shaqaynayso?
  • Waa maxay noocyada xogta xasaasiga ah ee aan kaydin doonno?

Kuwani waa dhawr su'aalood oo waxtar u lahaa aniga iyo kooxihii aan ka qaybqaatay sannadihii dhaqdhaqaaqa xirfadeed. Haddii aad taqaan jawaabaha su'aalahan (iyo kuwa kale oo khuseeya macnaha guud ee ay tahay inaad ka shaqeyso), markaa waxaad si tartiib tartiib ah u dhexgeli kartaa faahfaahinta farsamada ee dhibaatada.

Deji heerka bilowga

Maxaan uga jeedaa "saldhig" halkan? Dhab ahaantii, waqtiyadeena, dhibaatooyinka ugu badan ee warshadaha software "waxaa lagu xallin karaa iyadoo la adeegsanayo hababka iyo teknoolajiyada jira. Sidaa darteed, markaad dhex marto muuqaalkan, waxaad helaysaa bilow gaar ah markaad la kulanto dhibaatooyin uu qof kale xalliyo adiga ka hor. Ha iloobin in barnaamijyadu ay u qoran yihiin si ay u xalliyaan dhibaatooyinka ganacsiga iyo isticmaalaha, sidaas darteed waxaan ku dadaaleynaa in aan xallino dhibaatada habka ugu fudud oo fudud (marka laga eego aragtida isticmaalaha). Maxay tani muhiim u tahay in la xasuusto? Waxaa laga yaabaa in nidaamka isku xirka aad jeceshahay inaad u raadiso xalal gaar ah dhammaan dhibaatooyinka, sababtoo ah waxaad u maleyneysaa, "nooca barnaamije ayaan ahay haddii aan raaco qaababka meel kasta"? Dhab ahaan, Farshaxanka halkan ayaa go'aan ka gaaraya halka iyo waxa la sameeyo. Dabcan, mid kasta oo inaga mid ah waa inuu la tacaalaa dhibaatooyin gaar ah waqti ka waqti, kuwaas oo mid kasta oo ka mid ah uu yahay caqabad dhab ah. Si kastaba ha ahaatee, haddii heerkayaga bilawga ah si cad loo qeexay, markaa waxaan ognahay waxa aan ku bixineyno tamartayada: raadinta doorashooyin diyaarsan oo lagu xalliyo dhibaatada na hor taal, ama inaan sii daraaseyno oo aan helno faham qoto dheer.

Waxaan u maleynayaa inaan awooday inaan ku qanciyo in haddii khabiirku si kalsooni leh u fahmo waxa qaybta naqshadeynta ee hababka software ee cajiibka ah ay tahay, markaa aqoontani waxay noqon doontaa mid aan lagama maarmaan u ah horumarinta farshaxanka naqshadeeyaha iyo horumarinta saldhig adag oo arrintan ku saabsan.

Hagaag, markaa xaggee laga bilaabayaa? U Donna Martina Waxaa jira meel lagu kaydiyo GitHub oo la yiraahdo nidaamka-naqshad-primer, kaas oo aad ka baran karto sida loo naqshadeeyo nidaamyada waaweyn, iyo sidoo kale u diyaargarow wareysiyo ku saabsan mawduucan. Kaydka ayaa leh qayb tusaalooyin leh naqshadaha dhabta ah, halkaas oo, gaar ahaan, loo tixgeliyo sida ay u wajahaan naqshadeynta nidaamyadooda qaar ka mid ah shirkadaha caanka ahtusaale Twitter, Uber, iwm.

Si kastaba ha ahaatee, ka hor inta aanad u gudbin qoraalkan, aynu si qoto dheer u eegno caqabadaha ugu muhiimsan ee dhismaha ee innagu wajahayo ficil ahaan. Tani waa muhiim sababtoo ah waa inaad qeexdaa dhinacyo badan oo ku saabsan dhibaatada madax-adayg iyo wajiyo badan leh, ka dibna ku xalliso qaab-dhismeedka xeer-hoosaadyada ku jira nidaamka la bixiyay. Jackson Gabbard, shaqaale hore oo Facebook ah, ayaa qoray Fiidiyow 50-daqiiqo ah oo ku saabsan wareysiyada naqshadeynta nidaamyada, halkaas oo uu kula wadaagay khibradiisa u gaarka ah ee ku saabsan baaritaanka boqolaal codsadayaasha. Iyadoo fiidiyoowgu si aad ah diiradda u saarayo naqshadeynta nidaamka ballaaran iyo shuruudaha guusha ee muhiimka ah marka la raadinayo musharax booskan oo kale ah, waxay weli u adeegi doontaa kheyraad dhamaystiran oo ku saabsan waxa ugu muhiimsan marka la naqshadeynayo nidaamyada. Waxaan kaloo soo jeedinayaa soo koobid muuqaalkan.

Dhis aqoonta ku saabsan kaydinta iyo soo celinta xogta

Caadi ahaan, go'aankaaga ku saabsan sida aad u kaydiso oo aad u soo ceshato xogtaada muddada dheer waxay saameyn xun ku leedahay waxqabadka nidaamka. Sidaa darteed, waa inaad marka hore fahamtaa qoraalka iyo akhrinta la filayo sifooyinka nidaamkaaga. Markaa waxaad u baahan tahay inaad awoodo inaad qiimeyso tilmaamayaashan oo aad samayso doorashooyin ku salaysan qiimaynta la sameeyay. Si kastaba ha ahaatee, waxaad si wax ku ool ah ula qabsan kartaa shaqadan kaliya haddii aad fahamto qaababka kaydinta xogta ee jira. Mabda 'ahaan, tani waxay tusinaysaa aqoon adag oo la xidhiidha xulashada database.

Database-yada waxaa loo malayn karaa inay yihiin qaab-dhismeed xogeed oo aad loo cabbiri karo oo waara. Sidaa darteed, aqoonta qaab-dhismeedka xogta waa inay aad faa'iido kuu leedahay markaad dooranayso xog gaar ah. Tusaale ahaan, Redis waa server qaab-dhismeedka xogta ah oo taageera noocyada kala duwan ee qiyamka. Waxay kuu ogolaanaysaa inaad la shaqeyso qaab-dhismeedka xogta sida liisaska iyo sets, oo aad akhrido xogta adoo isticmaalaya algorithms si fiican loo yaqaan, tusaale ahaan, LRU, Abaabulka shaqadan oo kale qaab waara oo aad loo heli karo.

Naqshadeynta Nidaamyada Software-ka: Sawirka Weyn iyo Hagaha Kheyraadka

Sawir qaade Samuel Zeller ka Unsplash

Marka aad si fiican u fahamto qaababka kaydinta xogta ee kala duwan, u gudub barashada joogteynta xogta iyo helitaanka. Marka hore, waxaad u baahan tahay inaad fahamto Aragtida CAP ugu yaraan si guud, ka bacdina u nadiifi aqoontan adiga oo si qoto dheer u eegaya qaababka la aasaasay joogtayn ΠΈ helitaan. Sidan, waxaad ku horumarin doontaa fahamka goobta oo waxaad fahmi doontaa in akhrinta iyo qorista xogta ay dhab ahaantii yihiin laba dhibaato oo aad u kala duwan, mid walbana leh caqabadihiisa gaarka ah. Ku hubaysan dhawr joogsi iyo qaabab la heli karo, waxaad si weyn u kordhin kartaa waxqabadka nidaamka adiga oo hubinaya socodka xogta ee codsiyadaada.

Ugu dambeyntii, gunaanadka wadahadalka ku saabsan arrimaha kaydinta xogta, waa in aan sidoo kale xusno kaydinta. Miyay tahay inay isku mar ku shaqeyso macmiilka iyo server-ka? Waa maxay xogta ku jiri doonta kaydkaaga? Oo sababtu? Sideed u abaabushaa burinta kaydinta? Si joogto ah ma loo samayn doonaa, wakhtiyo gaar ah? Hadday haa tahay, meeqa jeer? Waxaan ku talinayaa in la bilaabo inaan mawduucyadan ku barto qaybta xigta nidaamka naqshadeynta ee kor ku xusan.

Qaababka Isgaarsiinta

Nidaamyadu waxay ka kooban yihiin qaybo kala duwan; Kuwaani waxay noqon karaan habab kala duwan oo ku dhex socda hal unug jireed, ama mashiino kala duwan oo ku shaqeeya qaybaha kala duwan ee shabakadaada. Qaar ka mid ah ilahan ku jira shabakadaada ayaa laga yaabaa inay noqdaan kuwo gaar ah, laakiin kuwa kale waa inay ahaadaan dad caam ah oo u furan macaamiisha ka soo galaya dibadda.

Waa lagama maarmaan in la hubiyo is-gaarsiinta kheyraadkaas midba midka kale, iyo sidoo kale is-weydaarsiga macluumaadka u dhexeeya nidaamka oo dhan iyo adduunka ka baxsan. Marka la eego qaabka naqshadeynta nidaamyada, halkan mar kale waxaan wajahaynaa caqabado cusub oo gaar ah. Aan aragno sida ay waxtar u yeelan karaan socodka hawsha asynchronousiyo waxa pQaabab isgaarsiineed oo kala duwan ayaa jira.

Naqshadeynta Nidaamyada Software-ka: Sawirka Weyn iyo Hagaha Kheyraadka

Sawir qaade Tony Stoddard ka Unsplash

Markaad qabanqaabinayso xidhiidhka dibadda, had iyo jeer waa mid aad muhiim u ah amniga, bixinta taas oo sidoo kale u baahan in si dhab ah loo qaato oo si firfircoon looga daba tago.

Qaybinta isku xirka

Ma hubo in mawduucan la geliyo qayb gaar ah ay u ekaan doonto mid qof walba xaq u leh. Si kastaba ha ahaatee, waxaan halkan ku soo bandhigi doonaa fikradan si faahfaahsan, waxaanan aaminsanahay in maaddada qaybtan ay si sax ah u qeexday ereyga "qaybinta isku xirka".

Nidaamyada waxaa loo sameeyay iyagoo si habboon isugu xiraya qaybo badan, isgaarsiintooda midba midka kale ayaa badanaa lagu habeeyaa iyadoo lagu saleynayo hab-maamuusyo la sameeyay, tusaale ahaan, TCP iyo UDP. Si kastaba ha ahaatee, hab-maamuusyadan sidaan oo kale ah ayaa inta badan aan ku filneyn inay daboolaan dhammaan baahiyaha nidaamyada casriga ah, kuwaas oo inta badan lagu shaqeeyo culeys sare oo sidoo kale aad ugu tiirsan baahida isticmaalaha. Inta badan waa lagama maarmaan in la helo habab loo qaybiyo isku xirka si ay ula qabsadaan culeysyada sare ee nidaamka.

Qaybintani waxay ku salaysan tahay wax la yaqaan nidaamka magaca domain (DNS). Nidaamka noocan oo kale ah wuxuu u oggolaanayaa isbeddelada magaca domainka sida wareegga wareegga miisaanka iyo hababka ku salaysan daahitaanka si ay u caawiyaan qaybinta culeyska.

Isku dheelitirka culeyska Asal ahaan waa muhiim, iyo gabi ahaanba nidaam kasta oo internet oo weyn oo aan maanta wax ka qabanno waxa uu ku yaalaa gadaashiisa hal ama in ka badan oo miisaan-qaadayaasha. Isku-dheelitiriyeyaasha xamuulku waxay caawiyaan u qaybinta codsiyada macmiilka ee xaaladaha badan ee jira. Isku-dheelitiriyeyaasha rarka waxay ku yimaadaan labadaba hardware iyo software, si kastaba ha ahaatee, ficil ahaan, inta badan waa inaad wax ka qabataa kuwa software, tusaale ahaan. HAProxy ΠΈ ELB. Dib u noqoshada wakiillada fikrad ahaan sidoo kale aad ula mid ah dheelitirayaasha load, inkastoo ay jirto kala duwanaansho u dhexeeya koowaad iyo labaad kala duwanaansho kala duwan. Kala duwanaanshahan waa in la tixgeliyaa marka la naqshadeynayo nidaam ku saleysan baahidaada.

Waa inaad sidoo kale wax ka ogaataa shabakadaha gudbinta nuxurka (CDN). CDN waa shabakad caalami ah oo la qaybiyey oo ah adeegayaal wakiil ka ah oo bixiya macluumaadka qanjidhada kuwaas oo ku yaal meel u dhow isticmaale gaar ah. CDN-yada ayaa doorbidaya in la isticmaalo haddii aad ku shaqeyso faylal aan caadi ahayn oo ku qoran JavaScript, CSS iyo HTML. Intaa waxaa dheer, adeegyada daruuriga ah ee bixiya maareeyayaasha taraafikada waa wax caadi ah maanta, tusaale ahaan, Maareeyaha Gaadiidka Azure, ku siinaya qaybinta caalamiga ah iyo hoos u dhaca daahitaanka markaad la shaqeyneyso nuxur firfircoon. Si kastaba ha ahaatee, adeegyada noocan oo kale ah ayaa inta badan faa'iido u leh kiisaska ay tahay inaad la shaqeyso adeegyada shabakadda ee aan waddan lahayn.

Aynu ka hadalno macquulka ganacsiga. Habaynta macquulka ganacsiga, socodka hawsha iyo qaybaha

Markaa, waxaan ku guuleysanay inaan ka wada hadalno dhinacyada kaabayaasha kala duwan ee nidaamka. Inta badan, isticmaaluhu xitaa kama fikiro dhammaan walxahan nidaamkaaga, si daacad ah, ma daneeyo iyaga haba yaraatee. Isticmaaluhu wuxuu xiiseynayaa sida uu ula falgalo nidaamkaaga, waxa lagu gaari karo marka tan la sameeyo, iyo sidoo kale sida nidaamku u fuliyo amarrada isticmaalaha, waxa iyo sida uu u sameeyo xogta isticmaalaha.

Sida cinwaanka maqaalkani soo jeedinayo, waxaan rabay inaan ka hadlo naqshadeynta software iyo naqshadeynta nidaamka. Sidaa darteed, ma qorsheyneynin inaan daboolo qaababka naqshadeynta software ee qeexaya sida qaybaha software loo abuuray. Si kastaba ha ahaatee, in badan oo aan ka fekerayo, waxay ii muuqataa in khadka u dhexeeya hababka naqshadaynta software iyo qaababka naqshadeynta ay aad u mugdi badan yihiin, labada fikradooduna waxay si dhow isugu xiran yihiin. Aan soo qaadano tusaale diiwaangelinta dhacdo (Xilli dhacdada). Marka aad qaadato qaabkan qaab-dhismeedka, waxa ay saamayn doontaa ku dhawaad ​​dhinac kasta oo nidaamkaaga ah: kaydinta xogta muddada-dheer, heerka joogteynta ee nidaamkaaga, qaabka qaybaha ku jira, iwm, iwm. Sidaa darteed, waxaan go'aansaday in aan xuso qaar ka mid ah qaababka dhismaha ee si toos ah ula xiriira macquulka ganacsiga. Inkasta oo maqaalkani uu ku koobnaan doono liis fudud, waxaan kugu dhiirigelinayaa inaad barato oo aad ka fikirto fikradaha la xidhiidha qaababkan. Waa ku kan:

Habab iskaashi

Aad bay u adag tahay in aad isku aragto mashruuc adiga oo ah ka qaybqaataha keligiis masuulka ka ah habka naqshadaynta nidaamka. Taa beddelkeeda, waxay u badan tahay inaad la falgasho asxaabta shaqadaada ka shaqaynaysa iyo labadaba labadaba. Xaaladdan oo kale, waxaa laga yaabaa inaad u baahato inaad qiimeyso xalalka tignoolajiyada ee la doortay asxaabta, aqoonso baahiyaha ganacsiga oo aad fahamto sida ugu wanaagsan ee loo barbardhigi karo hawlaha.

Naqshadeynta Nidaamyada Software-ka: Sawirka Weyn iyo Hagaha Kheyraadka

Sawir qaade Kaleidico ka Unsplash

Tallaabada ugu horreysa waa in la horumariyo faham sax ah oo la wadaago oo ku saabsan waxa hadafka ganacsi ee aad isku dayayso in aad gaadho waa maxay qaybaha dhaqaaqin doonaa in aad wax ka qabato. Farsamooyinka qaabaynta kooxeed, gaar ahaan dhacdooyinka duufaanta (dhacdooyinka duufaanka) waxay kaa caawinayaan inaad si weyn u dedejiso hawshan oo aad kordhiso fursadahaaga guul. Shaqadan waxaa la samayn karaa ka hor ama ka dib markaad sharraxdo xuduudaha adeegyadaada, ka dibna qoto dheeree marka alaabtu soo baxdo. Iyada oo ku saleysan heerka joogtada ah ee lagu gaari doono halkan, waxaad sidoo kale samayn kartaa luqadda guud macnaha xaddidan ee aad ka shaqeyso. Markaad u baahato inaad ka hadasho qaab dhismeedka nidaamkaaga, waxaa laga yaabaa inaad faa'iido u hesho model C4, la soo jeediyay Simon Brown, gaar ahaan marka aad u baahan tahay inaad fahamto inta ay le'eg tahay inaad geliso tafaasiisha dhibaatada, adigoo sawiraya waxyaabaha aad rabto inaad la xiriirto.

Waxay u badan tahay inay jirto tignoolajiyad kale oo qaan-gaadh ah oo mawduucan ku saabsan oo aan faa'iido yar lahayn marka loo eego Naqshadaynta Waddada Domain. Si kastaba ha ahaatee, waxaynu si uun ugu noqonaynaa fahamka mawduuca, sidaas darteed aqoonta iyo khibradda goobta Naqshadda Domain-Driven waa inay ku anfacaan.

Source: www.habr.com

Add a comment