Uyilo lweSoftware kunye noYilo lweeNkqubo: UMfanekiso Omkhulu kunye neSikhokelo seZibonelelo

Molweni balingane.

Namhlanje sinikezela ngengqwalasela yakho ngenguqulelo yenqaku likaTugberk Ugurlu, oye wathatha isigqibo sokuchaza ngomthamo omncinci imigaqo yokuyila iinkqubo zesoftware zanamhlanje. Nantsi into ayithethayo umbhali malunga naye ngesishwankathelo:

Uyilo lweSoftware kunye noYilo lweeNkqubo: UMfanekiso Omkhulu kunye neSikhokelo seZibonelelo
Ekubeni akunakwenzeka ngokupheleleyo ukugubungela kwinqaku le-habro isihloko esikhulu njengeepateni zokwakha + iipatheni zokuyila ukususela ngo-2019, asikhuthazi kuphela isicatshulwa sikaMnu. Ukuba uyayithanda, siya kupapasha isicatshulwa esikhethekileyo ngakumbi malunga noyilo lweenkqubo ezisasazwayo.

Uyilo lweSoftware kunye noYilo lweeNkqubo: UMfanekiso Omkhulu kunye neSikhokelo seZibonelelo

Umfanekiso okhawulezayo UIsaac Smith ukusuka kwi-Unsplash

Ukuba awuzange ujongane nemingeni efana nokuyila inkqubo yesoftware ukusuka ekuqaleni, ke xa uqala umsebenzi onjalo, ngamanye amaxesha akucaci nokuba ungaqala ngaphi. Ndiyakholelwa ukuba kuqala kufuneka uzobe imida ukuze ube nombono wokuzithemba ngakumbi okanye ongaphantsi wokuba yintoni kanye oza kuyilwa, kwaye emva koko usonge imikhono yakho kwaye usebenze ngaphakathi kwaloo mida. Njengesiqalo, unokuthatha imveliso okanye inkonzo (eyona nto uyithanda kakhulu) kwaye ufumanise ukuba ungayiphumeza njani na. Unokumangaliswa yindlela elula ngayo le mveliso, kunye nokuba ingakanani intsonkotheko eneneni. Sukulibala: elula - ngokuqhelekileyo inzima, kwaye kulungile.

Ndicinga ukuba elona cebiso ndinokulinika nabani na oqala ukuyila inkqubo yile: musa ukucinga! Ukususela ekuqaleni, kufuneka uchaze iinyani ezaziwa malunga nale nkqubo kunye nokulindela okuhambelana nayo. Nantsi eminye imibuzo elungileyo onokuyibuza ukukunceda uqalise ngoyilo lwakho:

  • Yintoni ingxaki esizama ukuyicombulula?
  • Leliphi inani eliphezulu labasebenzisi abaya kusebenzisana nenkqubo yethu?
  • Zeziphi iipateni zokubhala kunye neenkcukacha zokufunda esiya kuzisebenzisa?
  • Ngawaphi amatyala okusilela alindelekileyo, siza kuwaphatha njani?
  • Zeziphi izinto ezilindelekileyo zokungaguquguquki kwenkqubo kunye nokufumaneka?
  • Ngaba kufuneka uthathele ingqalelo naziphi na iimfuno ezinxulumene nokuqinisekiswa kwangaphandle kunye nommiselo xa usebenza?
  • Zeziphi iindidi zedatha enovakalelo esiza kuyigcina?

Le yimibuzo nje embalwa ebiluncedo kum nakumaqela endithathe inxaxheba kuwo kule minyaka idlulileyo yomsebenzi wobugcisa. Ukuba uyazazi iimpendulo zale mibuzo (kunye nazo naziphi na ezinye ezichaphazelekayo kumxholo omele usebenze kuwo), ngoko unokuphanda ngokuthe ngcembe kwiinkcukacha zobuchwepheshe zengxaki.

Misela inqanaba lokuqala

Ndithetha ukuthini xa ndisithi β€œbaseline” apha? Ngokwenyani, kumaxesha ethu, uninzi lweengxaki kwishishini lesoftware "zinokulungiswa" kusetyenziswa iindlela ezikhoyo kunye nobuchwepheshe. Ngokuhambelana noku, ngokujonga kulo mhlaba, ufumana isiqalo esithile xa ujongene neengxaki ekufuneka umntu othile azisombulule phambi kwakho. Ungalibali ukuba iinkqubo zibhaliwe ukusombulula iingxaki zoshishino kunye nomsebenzisi, ngoko sizama ukusombulula ingxaki ngendlela ecacileyo kwaye elula (ngokwembono yomsebenzisi). Kutheni kubalulekile ukukhumbula oku? Mhlawumbi kwinkqubo yakho yokulungelelanisa uthanda ukukhangela izisombululo ezizodwa kuzo zonke iingxaki, kuba ucinga ukuba, "ndiluhlobo luni lomdwelisi ukuba ndilandela iipatheni kuyo yonke indawo"? Inyaniso, ubugcisa apha benza izigqibo malunga nokuba kuphi kwaye wenze ntoni. Kakade ke, ngamnye wethu umele ajamelane neengxaki ezikhethekileyo ngamaxesha athile, nganye kuzo ilucelomngeni lokwenene. Nangona kunjalo, ukuba inqanaba lethu lokuqala lichazwe ngokucacileyo, ngoko siyazi ukuba yintoni esiza kuchitha amandla ethu kuyo: ukukhangela iinketho ezilungiselelwe ukusombulula ingxaki ebekwe phambi kwethu, okanye ukuqhubela phambili ngokuyifunda kunye nokufumana ukuqonda okunzulu.

Ndicinga ukuba ndikwazile ukukuqinisekisa ukuba ukuba ingcali iyaqonda ngokuzithemba ukuba yintoni icandelo loyilo lweenkqubo ezimangalisayo zesoftware, ke olu lwazi luya kuba yimfuneko ekuqondeni ubugcisa bomakhi kunye nokuphuhlisa isiseko esiluqilima kule ndawo.

Kulungile, ukuqala ngaphi? U UDonna Martina Kukho indawo yokugcina kwi-GitHub ebizwa inkqubo-design-primer, apho unokufunda khona indlela yokuyila iinkqubo ezinkulu, kunye nokulungiselela udliwano-ndlebe kwesi sihloko. Uvimba unecandelo elinemizekelo izakhiwo zokwenyani, apho, ngokukodwa, kuqwalaselwa indlela abasondela ngayo ukuyila kweenkqubo zabo ezinye iinkampani ezaziwayoumz. Twitter, Uber, njl.

Nangona kunjalo, ngaphambi kokuba siqhubele phambili kwesi sixhobo, makhe sijonge ngakumbi eyona mingeni ibalulekileyo yokwakha esijongene nayo ekusebenzeni. Oku kubalulekile kuba kufuneka ucacise imiba emininzi yengxaki enenkani kunye nemacala amaninzi, kwaye emva koko uyisombulule ngaphakathi kwesakhelo semimiselo esebenzayo kwinkqubo enikiweyo. UJackson Gabbard, owayesakuba ngumsebenzi we-Facebook, wabhala Ividiyo yemizuzu engama-50 malunga nodliwano-ndlebe loyilo lweenkqubo, apho wabelana ngamava akhe okuvavanya amakhulu abantu abafake izicelo. Nangona ividiyo igxininise kakhulu kuyilo lwenkqubo enkulu kunye neendlela zokuphumelela ezibalulekileyo xa ukhangele umgqatswa wesikhundla esinjalo, iya kuhlala isebenza njengomthombo obanzi kwizinto ezibaluleke kakhulu xa kuyilwa iinkqubo. Ndikwacebisa isishwankathelo le vidiyo.

Yakha ulwazi malunga nokugcina kunye nokubuyisela idatha

Ngokuqhelekileyo, isigqibo sakho malunga nendlela oyigcina ngayo kwaye ufumane idatha yakho kwixesha elide kunempembelelo ebalulekileyo ekusebenzeni kwenkqubo. Ke ngoko, kufuneka uqale uqonde ukubhala okulindelweyo kwaye ufunde iimpawu zenkqubo yakho. Emva koko kufuneka ukwazi ukuvavanya ezi zalathisi kwaye wenze ukhetho olusekelwe kwiimvavanyo ezenziwe. Nangona kunjalo, unokumelana ngempumelelo nalo msebenzi kuphela ukuba uyaziqonda iipateni ezikhoyo zokugcina idatha. Ngokomgaqo, oku kuthetha ulwazi oluluqilima olunxulumene ukhetho lwesiseko sedatha.

Oovimba beenkcukacha banokucingelwa njengolwakhiwo lwedatha olunokala ngokugqithisileyo kwaye luhlala ixesha elide. Ngoko ke, ulwazi lwezakhiwo zedatha kufuneka lube luncedo kakhulu kuwe xa ukhetha i-database ethile. Umzekelo, Redis yiseva yesakhiwo sedata exhasa iindidi ezahlukeneyo zamaxabiso. Ikuvumela ukuba usebenze kunye nezakhiwo zedatha ezifana noluhlu kunye neeseti, kwaye ufunde idatha usebenzisa i-algorithms eyaziwayo, umzekelo, I-LRU, ukulungelelanisa umsebenzi onjalo ngendlela ehlala ixesha elide kwaye ifikeleleke kakhulu.

Uyilo lweSoftware kunye noYilo lweeNkqubo: UMfanekiso Omkhulu kunye neSikhokelo seZibonelelo

Umfanekiso okhawulezayo USamuel Zeller ukusuka kwi-Unsplash

Nje ukuba ube nokuqonda okwaneleyo kweendlela ezahlukeneyo zokugcina idatha, qhubela phambili ekufundeni ukuhambelana kwedatha kunye nokufumaneka. Okokuqala, kufuneka uqonde Ithiyori yeCAP ubuncinci ngokwemigaqo ngokubanzi, kwaye ke upholise olu lwazi ngokujongisisa iipateni ezisekiweyo ukungaguquguquki ΠΈ ukufikeleleka. Ngale ndlela, uya kuphuhlisa ukuqonda intsimi kwaye uqonde ukuba ukufunda nokubhala idatha eneneni ziingxaki ezimbini ezahlukeneyo, nganye inemingeni yayo eyahlukileyo. Uxhotyiswe ngokungaguquguquki okumbalwa kunye neepateni zokufumaneka, unokwandisa kakhulu ukusebenza kwenkqubo ngelixa uqinisekisa ukuhamba kakuhle kwedatha kwizicelo zakho.

Ekugqibeleni, ukugqiba incoko malunga nemiba yokugcina idatha, kufuneka sikhankanye i-caching. Ngaba kufuneka isebenze ngaxeshanye kumxhasi kunye nomncedisi? Yeyiphi idatha eya kuba kwi-cache yakho? Kwaye kutheni? Ucwangcisa njani ukungasebenzi kwe-cache? Ngaba iya kwenziwa rhoqo, ngamaxesha athile? Ukuba ewe, kukangaphi? Ndincoma ukuqala ukufunda ezi zihloko kunye icandelo elilandelayo inkqubo yoyilo ekhankanywe ngasentla.

Iipateni zoNxibelelwano

Iinkqubo zibandakanya amacandelo ahlukeneyo; ezi inokuba ziinkqubo ezahlukeneyo ezisebenza ngaphakathi kwendawo enye ebonakalayo, okanye oomatshini abohlukeneyo abasebenza kwiindawo ezahlukeneyo zomsebenzi womnatha wakho. Ezinye zezi zixhobo kwinethiwekhi yakho zinokuba ngasese, kodwa ezinye kufuneka zibe sesidlangalaleni kwaye zivuleleke kubathengi abafikelela kuzo ngaphandle.

Kuyimfuneko ukuqinisekisa unxibelelwano lwezi zibonelelo kunye nomnye, kunye nokutshintshiselana ngolwazi phakathi kwenkqubo yonke kunye nehlabathi langaphandle. Kumxholo woyilo lweenkqubo, apha kwakhona sijongene neseti yemingeni emitsha kunye neyodwa. Makhe sibone indlela ezinokuba luncedo ngayo ukuhamba komsebenzi okungahambelaniyo, kwaye yintoni pIindlela ezahlukeneyo zonxibelelwano ziyafumaneka.

Uyilo lweSoftware kunye noYilo lweeNkqubo: UMfanekiso Omkhulu kunye neSikhokelo seZibonelelo

Umfanekiso okhawulezayo UTony Stoddard ukusuka kwi-Unsplash

Xa uququzelela unxibelelwano kunye nehlabathi langaphandle, lihlala libaluleke kakhulu ukhuseleko, ilungiselelo elikwafuneka lithathelwe ingqalelo kwaye liqhutywe ngenkuthalo.

Ukuhanjiswa koqhagamshelwano

Andiqinisekanga ukuba ukubeka esi sihloko kwicandelo elahlukileyo kuya kubonakala kufanelekile kuye wonke umntu. Nangona kunjalo, ndiza kubonisa le ngcamango ngokubanzi apha, kwaye ndiyakholelwa ukuba izinto ezikweli candelo zichazwe ngokuchanekileyo ngegama elithi "ukusasazwa koqhagamshelwano".

Iinkqubo zenziwe ngokudibanisa ngokufanelekileyo amacandelo amaninzi, kwaye unxibelelwano lwabo kunye nomnye luhlala lucwangciswa ngesiseko semigaqo emiselweyo, umzekelo, i-TCP kunye ne-UDP. Nangona kunjalo, ezi prothokholi njengoko zinjalo zihlala zingonelanga ukuhlangabezana nazo zonke iimfuno zeenkqubo zanamhlanje, ezihlala ziqhutywa phantsi komthwalo omkhulu kwaye zixhomekeke kakhulu kwiimfuno zabasebenzisi. Kuhlala kuyimfuneko ukufumana iindlela zokusasaza imidibaniso ukuhlangabezana nemithwalo ephezulu kangaka kwisistim.

Olu lwabiwo lusekelwe kwizinto ezaziwa kakhulu inkqubo yegama lommandla (DNS). Inkqubo enjalo ivumela ukuguqulwa kwegama lesizinda njenge-robin enesisindo esijikelezayo kunye neendlela ezisekelwe kwi-latency ukunceda ukusabalalisa umthwalo.

Umthwalo wokulinganisa ibaluleke kakhulu, kwaye phantse yonke inkqubo ye-Intanethi enkulu esijongana nayo namhlanje ibekwe emva kwesinye okanye ngaphezulu kwesilinganisi somthwalo. Izilinganisi zomthwalo zinceda ukusasaza izicelo zabaxumi kwiimeko ezininzi ezikhoyo. Abalinganisi bomthwalo beza kuzo zombini i-hardware kunye nesoftware, nangona kunjalo, ekusebenzeni, rhoqo kufuneka ujongane nesoftware, umzekelo. HAProxy ΠΈ I-ELB. Reverse proxies ngokwengqiqo ikwafana kakhulu nezilinganisi zomthwalo, nangona kukho uluhlu phakathi kweyokuqala neyesibini iiyantlukwano ezahlukeneyo. Lo mahluko kufuneka uthathelwe ingqalelo xa uyila inkqubo esekelwe kwiimfuno zakho.

Kufuneka ukwazi kwakhona malunga uthungelwano lokuhanjiswa komxholo (CDN). I-CDN luthungelwano olusasazwe kwihlabathi jikelele lweeseva zommeli ezinikezela ngolwazi olusuka kwiindawo ezibekwe ngokwejografi kufutshane nomsebenzisi othile. IiCDN zikhethwa ukuba zisetyenziswe ukuba usebenza ngeefayile ezimileyo ezibhalwe kwiJavaScript, CSS kunye neHTML. Ukongeza, iinkonzo zefu ezibonelela ngabaphathi bezendlela ziqhelekile namhlanje, umzekelo, Umphathi weTrafikhi yaseAzure, ikunika ukuhanjiswa kwehlabathi kunye nokunciphisa i-latency xa usebenza nomxholo onamandla. Nangona kunjalo, iinkonzo ezinjalo zihlala ziluncedo kwiimeko apho kufuneka usebenze ngeenkonzo zewebhu ezingenammiselo.

Makhe sithethe ngengqiqo yezoshishino. Ukwakha ingqiqo yeshishini, ukuhamba komsebenzi kunye namacandelo

Ke, sikwazile ukuxoxa ngemiba eyahlukeneyo yeziseko zophuhliso lwenkqubo. Ngokunokwenzeka, umsebenzisi akacingi nokucinga ngazo zonke ezi zinto zenkqubo yakho kwaye, ngokungafihlisiyo, akazikhathaleli kwaphela. Umsebenzisi unomdla wokuba kunjani ukusebenzisana nenkqubo yakho, yintoni enokufezekiswa ngokwenza oku, kunye nendlela inkqubo eyenza ngayo imiyalelo yomsebenzisi, yintoni kwaye yenza njani ngedatha yomsebenzisi.

Njengoko isihloko seli nqaku sicebisa, bendiza kuthetha malunga noyilo lwesoftware kunye noyilo lwenkqubo. Ngokufanelekileyo, khange ndicwangcise ukugubungela iipateni zoyilo lwesoftware ezichaza indlela amacandelo esoftware enziwa ngayo. Nangona kunjalo, okukhona ndicinga ngayo, kokukhona kubonakala kum ukuba umgca phakathi kweepateni zoyilo lwesoftware kunye neepateni zezokwakha umfiliba kakhulu, kwaye ezi ngcamango zimbini zisondelelene. Makhe sithathe umzekelo ukubhaliswa kwesiganeko (ukufumana umsitho). Nje ukuba uthabathe le pateni yoyilo, iya kuchaphazela phantse yonke into yenkqubo yakho: ukugcinwa kwexesha elide ledatha, inqanaba lokungaguquguquki kwamkelwe kwinkqubo yakho, imilo yamacandelo kuyo, njl., njl. Ke ngoko, ndaye ndagqiba kwelokuba ndikhankanye iipateni zoyilo ezihambelana ngokuthe ngqo nengqiqo yeshishini. Nangona eli nqaku liza kufuneka lizithintele kuluhlu olulula, ndikhuthaza ukuba uqhelane nalo kwaye ucinge ngeengcamango ezinxulumene nale patheni. Nanku:

Iindlela zokusebenzisana

Akulindelekanga kakhulu ukuba uzifumane kwiprojekthi njengomthathi-nxaxheba onoxanduva lwenkqubo yoyilo lwenkqubo. Ngokuchasene noko, kuya kufuneka unxibelelane nabalingane abasebenza ngaphakathi nangaphandle komsebenzi wakho. Kule meko, kunokufuneka uvavanye izisombululo zetekhnoloji ezikhethiweyo kunye noogxa, uchonge iimfuno zeshishini kwaye uqonde indlela engcono yokulungelelanisa imisebenzi.

Uyilo lweSoftware kunye noYilo lweeNkqubo: UMfanekiso Omkhulu kunye neSikhokelo seZibonelelo

Umfanekiso okhawulezayo I-Kaleidico ukusuka kwi-Unsplash

Inyathelo lokuqala kukuphuhlisa ukuqonda okuchanekileyo nokwabelwanayo malunga nokuba yeyiphi injongo yeshishini ozama ukuyiphumeza kwaye zeziphi iindawo ezihambayo ekufuneka ujongane nazo. Ubuchule bokwenza imodeli yeqela, ngakumbi iziganeko zoqhwithela (isiganeko esivuthuzayo) nceda ukukhawulezisa kakhulu le nkqubo kunye nokwandisa amathuba akho okuphumelela. Lo msebenzi unokwenziwa ngaphambi okanye emva kolwandlalo imida yeenkonzo zakho, uze wenze nzulu njengoko imveliso ikhula. Ngokusekwe kwinqanaba lokungaguquguquki eliya kufezekiswa apha, unokwenza kwakhona ulwimi oluqhelekileyo kumxholo olinganiselweyo osebenza kuwo. Xa ufuna ukuthetha malunga noyilo lwenkqubo yakho, ungayifumana iluncedo imodeli C4, icetywayo USimon Brown, ingakumbi xa kufuneka uqonde ukuba kuya kufuneka ungene kangakanani kwiinkcukacha zengxaki, ube nombono wezinto ofuna ukunxibelelana nazo.

Kukho enye itekhnoloji evuthiweyo kwesi sihloko engeloncedo ngaphantsi koYilo oluqhutywa yiDomain. Noko ke, ngandlel’ ithile sibuyela ekuqondeni umbandela wombandela, ngoko ulwazi namava entsimini Uyilo oluqhutywa yiDomain kufuneka ibe luncedo kuwe.

umthombo: www.habr.com

Yongeza izimvo