Lozisialy Architecture and Systems Design: The Big Picture and Resource Guide

Salama mpiara-miasa.

Androany izahay dia manolotra ho dinihinao ny fandikana lahatsoratra iray nataon'i Tugberk Ugurlu, izay nikasa ny hanoritra amin'ny ampahany kely ny fitsipiky ny famolavolana rafitra rindrambaiko maoderina. Izao no lazain'ny mpanoratra momba ny tenany amin'ny famintinana:

Lozisialy Architecture and Systems Design: The Big Picture and Resource Guide
Satria tsy azo atao mihitsy ny mitantara lohahevitra goavana toy ny lamina ara-javakanto + modely amin'ny taona 2019 amin'ny lahatsoratra habro, dia tsy ny lahatsoratr'i Atoa Uruglu ihany no atolotray, fa ireo rohy marobe nampidiriny tamim-pitiavana tao. Raha tianao izany, dia hamoaka lahatsoratra manokana momba ny famolavolana rafitra fizarana izahay.

Lozisialy Architecture and Systems Design: The Big Picture and Resource Guide

Snapshot Isaac Smith avy amin'ny Unsplash

Raha mbola tsy niatrika fanamby toy ny famolavolana rafitra rindrambaiko hatrany am-boalohany ianao, dia rehefa manomboka asa toy izany, indraindray dia tsy mazava mihitsy hoe aiza no hanombohana. Mino aho fa mila manao sisin-tany aloha ianao mba hanananao hevitra bebe kokoa na tsy dia matoky tena momba ny tena hamolavolanao, ary atsangano ny tananao ary miasa ao anatin'ireo sisin-tany ireo. Ho fanombohana dia azonao atao ny maka vokatra na serivisy (izay tena tianao) ary fantaro ny fomba fampiharana azy. Mety ho gaga ianao amin'ny fahitan'ity vokatra ity tsotra izao, ary hatraiza ny fahasarotana misy azy. Aza hadino: tsotra - matetika sarotra, ary tsy maninona izany.

Heveriko fa ny torohevitra tsara indrindra azoko omena izay manomboka mamolavola rafitra dia izao: aza manao vinavina! Hatrany am-boalohany dia mila mamaritra ny zava-misy fantatra momba ity rafitra ity sy ny zavatra andrasana mifandray amin'izany ianao. Ireto misy fanontaniana tsara apetraka hanampy anao hanomboka amin'ny famolavolanao:

  • Inona no olana ezahina hovahana?
  • Firy ny isan'ny mpampiasa indrindra hifanerasera amin'ny rafitray?
  • Inona no modely amin'ny fanoratana sy famakiana angona hampiasaintsika?
  • Inona avy ireo trangan-javatra tsy fahombiazana andrasana, ahoana no hataontsika?
  • Inona no andrandraina amin'ny tsy fitovian'ny rafitra sy ny fisiany?
  • Tsy maintsy mandray an-tanana izay fepetra rehetra mifandraika amin'ny fanamarinana sy ny fitsipika ivelany ve ianao rehefa miasa?
  • Karazana angona saro-pady inona no hotehirizinay?

Fanontaniana vitsivitsy izay nahasoa ahy sy ireo ekipa nandraisako anjara nandritra ny taona maro nanaovana asa matihanina. Raha fantatrao ny valin'ireo fanontaniana ireo (sy ny hafa mifandraika amin'ny toe-javatra iasanao), dia azonao atao ny mandalina tsikelikely ny antsipiriany ara-teknika momba ny olana.

Apetraho ny ambaratonga voalohany

Inona no tiana holazaina amin'ny hoe "baseline" eto? Raha ny marina, amin'izao androntsika izao, ny ankamaroan'ny olana ao amin'ny indostrian'ny rindrambaiko dia "azo vahana" amin'ny fampiasana fomba sy teknolojia efa misy. Noho izany, amin'ny alΓ lan'ny fitetezana an'ity tontolo ity, dia manomboka aloha ianao rehefa miatrika olana izay tsy maintsy novahan'ny olon-kafa talohanao. Aza adino fa ny programa dia nosoratana mba hamahana ny olan'ny orinasa sy ny mpampiasa, noho izany dia miezaka ny hamaha ny olana amin'ny fomba mahitsy sy tsotra indrindra (avy amin'ny fomba fijerin'ny mpampiasa). Nahoana izany no zava-dehibe hotadidina? Angamba ao amin'ny rafitra fandrindranao dia tianao ny mitady vahaolana tsy manam-paharoa amin'ny olana rehetra, satria mieritreritra ianao hoe: "programmer manao ahoana aho raha manaraka lamina eny rehetra eny"? Raha ny tena izy, ny zavakanto eto dia mandray fanapahan-kevitra momba ny toerana sy ny tokony hatao. Mazava ho azy fa tsy maintsy miatrika olana tsy manam-paharoa isika tsirairay, izay tena zava-tsarotra ny tsirairay. Na izany aza, raha voafaritra mazava tsara ny ambaratonga voalohany ananantsika, dia fantatsika izay handany ny herintsika: mikaroka safidy efa vonona hamahana ny olana apetraka eo anoloantsika, na mianatra bebe kokoa izany ary mahazo fahatakarana lalindalina kokoa.

Heveriko fa afaka nandresy lahatra anao aho fa raha ny manam-pahaizana manokana dia mahatakatra tsara hoe inona ny singa ara-javakanto amin'ny rafitra rindrambaiko mahafinaritra, dia tsy maintsy ilaina izany fahalalana izany amin'ny fifehezana ny zavakanton'ny mpanao mari-trano sy ny fampivoarana fototra mafy orina amin'ity sehatra ity.

Okay, aiza no hanombohana? U Donna Martina Misy tahiry ao amin'ny GitHub antsoina system-design-primer, izay ahafahanao mianatra mamolavola rafitra midadasika, ary miomana amin'ny dinidinika momba ity lohahevitra ity. Ny tahiry dia manana fizarana misy ohatra tena architectures, izay, indrindra indrindra, dia heverina ny fomba hanatonan'izy ireo ny famolavolana ny rafitra misy azy orinasa fanta-daza sasanyohatra Twitter, Uber, sns.

Na izany aza, alohan'ny hirosoana amin'ity fitaovana ity, andeha hojerentsika akaiky ireo fanamby ara-javakanto lehibe indrindra atrehintsika amin'ny fampiharana. Zava-dehibe izany satria tsy maintsy mamaritra lafin-javatra MARO amin'ny olana mafy loha sy lafin-javatra maro ianao, ary hamaha izany ao anatin'ny rafitry ny fitsipika manan-kery amin'ny rafitra iray. Jackson Gabbard, mpiasan'ny Facebook taloha, nanoratra Lahatsary 50 minitra momba ny dinidinika momba ny famolavolana rafitra, izay nizarany ny traikefany manokana tamin'ny fitiliana ireo mpangataka an-jatony. Na dia mifantoka mafy amin'ny famolavolana rafitra lehibe sy ny fepetra mahomby izay manan-danja amin'ny fitadiavana kandidΓ  amin'ny toerana toy izany aza ny lahatsary, dia mbola ho loharano feno amin'ny zavatra manan-danja indrindra amin'ny famolavolana rafitra. Manoro hevitra koa aho FAMINTINANA ity video ity.

Manangana fahalalana momba ny fitehirizana sy famerenana ny angona

Amin'ny ankapobeny, ny fanapahan-kevitrao momba ny fomba fitahirizanao sy fakana ny angonao mandritra ny fotoana maharitra dia misy fiatraikany lehibe amin'ny fahombiazan'ny rafitra. Noho izany, tsy maintsy takatrao aloha ny toetran'ny rafitrao amin'ny fanoratana sy famakiana. Avy eo dia mila mahay manombana ireo tondro ireo ianao ary manao safidy mifototra amin'ny fanombanana natao. Na izany aza, azonao atao tsara ny miatrika an'io asa io raha tsy azonao ny lamina fitahirizana data efa misy. Amin'ny ankapobeny, izany dia midika fahalalana mivaingana mifandray amin'ny fifantenana angon-drakitra.

Ny angon-drakitra dia azo raisina ho toy ny rafitra angon-drakitra izay tena azo ekena sy maharitra. Noho izany, ny fahalalana momba ny firafitry ny data dia tokony ho tena ilaina ho anao rehefa misafidy tahiry manokana. Ohatra, Redis dia mpizara firafitry ny angona izay manohana karazana soatoavina. Izy io dia ahafahanao miasa miaraka amin'ny rafitra data toy ny lisitra sy seta, ary mamaky angon-drakitra mampiasa algorithm malaza, ohatra, LRU, fikarakarana asa toy izany amin'ny fomba maharitra sy azo idirana be.

Lozisialy Architecture and Systems Design: The Big Picture and Resource Guide

Snapshot Samuel Zeller avy amin'ny Unsplash

Rehefa manana fahatakarana ampy momba ireo lamina fitahirizana angon-drakitra isan-karazany ianao, dia mirosoa amin'ny fandalinana ny tsy fitoviana sy ny fisian'ny angona. Voalohany indrindra, mila mahatakatra ianao Theorem CAP fara-faharatsiny amin'ny teny ankapobeny, ary avy eo dia posio izany fahalalana izany amin'ny fijerena akaiky ireo lamina napetraka tapaka ΠΈ accessibility. Amin'izany fomba izany, hampitombo ny fahatakaranao ny sehatra ianao ary hahatakatra fa ny famakiana sy fanoratana angona dia tena olana roa samy hafa, samy manana ny fanamby manokana. Miaraka amin'ny modely tsy miovaova sy azo ampiasaina, azonao atao ny mampitombo be ny fahombiazan'ny rafitra ary miantoka ny fikorianan'ny angon-drakitra amin'ny fampiharanao.

Farany, mamarana ny resaka momba ny olan'ny fitahirizana angon-drakitra, dia tokony hiresaka momba ny caching ihany koa isika. Tokony hihazakazaka miaraka amin'ny mpanjifa sy ny mpizara ve izany? Inona no angona ho ao amin'ny cache-nao? Ary nahoana? Ahoana ny fomba fandrindrana ny fanafoanana ny cache? Hatao tsy tapaka ve izany, amin’ny fotoana sasany? Raha eny, impiry? Manoro hevitra aho hanomboka handalina ireo lohahevitra ireo fizarana manaraka ny fototra famolavolana rafitra voalaza etsy ambony.

Fomba fifandraisana

Ny rafitra dia misy singa samihafa; Mety ho dingana samihafa mandeha ao anatin'ny node ara-batana iray ihany ireo, na milina hafa mandeha amin'ny faritra samihafa amin'ny tambajotranao. Ny sasany amin'ireo loharano ireo ao anatin'ny tambajotranao dia mety ho an'ny tena manokana, fa ny hafa kosa tokony ho ampahibemaso ary misokatra ho an'ny mpanjifa miditra azy ireo avy any ivelany.

Ilaina ny miantoka ny fifandraisana amin'ireo loharano ireo, ary koa ny fifanakalozana vaovao eo amin'ny rafitra iray manontolo sy ny tontolo ivelany. Eo amin'ny sehatry ny famolavolana rafitra, eto indray isika dia miatrika fanamby vaovao sy miavaka. Andeha hojerentsika ny fomba mety hahasoa azy ireny mikoriana ny asa asynchronous, ary inona pMisy karazana fifandraisana samihafa.

Lozisialy Architecture and Systems Design: The Big Picture and Resource Guide

Snapshot Tony Stoddard avy amin'ny Unsplash

Rehefa mikarakara fifandraisana amin'ny tontolo ivelany dia tena zava-dehibe foana izany fiarovana, izay tokony horaisina amim-pahamatorana sy am-pahavitrihana ihany koa ny fanomezana azy.

Fizarana fifandraisana

Tsy azoko antoka fa toa hamarinin'ny rehetra ny fametrahana ity lohahevitra ity ho fizarana misaraka. Na izany aza, hanolotra an'io hevitra io amin'ny antsipiriany eto aho, ary mino aho fa ny fitaovana ato amin'ity fizarana ity dia voafaritra tsara indrindra amin'ny teny hoe "fizarana fifandraisana".

Ny rafitra dia miforona amin'ny fampifandraisana tsara ireo singa maro, ary ny fifandraisan'izy ireo dia matetika voalamina amin'ny alΓ lan'ny protocols napetraka, ohatra, TCP sy UDP. Na izany aza, ireo protocole toy izany dia matetika tsy ampy mba hanomezana izay ilain'ny rafitra maoderina rehetra, izay matetika miasa eo ambany enta-mavesatra ary miankina betsaka amin'ny filan'ny mpampiasa. Matetika dia ilaina ny mitady fomba hizarana fifandraisana mba hiatrehana ny enta-mavesatra toy izany eo amin'ny rafitra.

Ity fizarana ity dia mifototra amin'ny fanta-daza rafitra anarana domain (DNS). Ny rafitra toy izany dia mamela ny fiovan'ny anaran'ny sehatra toy ny round robin mavesatra sy ny fomba mifototra amin'ny latency hanampy amin'ny fizarana ny entana.

Load balancing dia tena zava-dehibe, ary saika ny rafitry ny Aterineto lehibe rehetra atrehintsika ankehitriny dia hita ao ambadiky ny mpandrindra entana iray na maromaro. Ny mpandefa entana dia manampy amin'ny fizarana ny fangatahan'ny mpanjifa amin'ny tranga maro misy. Ny mpifandanja entana dia tonga amin'ny fitaovana sy rindrambaiko, na izany aza, amin'ny fampiharana, matetika dia mila miatrika rindrambaiko ianao, ohatra. HAProxy ΠΈ ELB. Mivadika proxy mitovy amin'ny enta-mavesatra ihany koa ny enta-mavesatra, na dia misy elanelana eo anelanelan'ny voalohany sy faharoa fahasamihafana miavaka. Tsy maintsy raisina an-tsaina ireo fahasamihafana ireo rehefa mamolavola rafitra mifototra amin'ny zavatra ilainao.

Tokony ho fantatrao koa ny momba ny tambajotra fanaterana votoaty (CDN). Ny CDN dia tambajotram-pizarana proxy maneran-tany izay manome vaovao avy amin'ny nodes izay akaiky kokoa amin'ny mpampiasa iray manokana. Ny CDN dia aleo ampiasaina raha miasa amin'ny rakitra static voasoratra amin'ny JavaScript, CSS ary HTML ianao. Ankoatr'izay, ny serivisy rahona manome mpitantana ny fifamoivoizana dia mahazatra ankehitriny, ohatra, Azure Traffic Manager, manome anao fitsinjarana maneran-tany sy fampihenana ny fahatarana rehefa miasa amin'ny atiny mavitrika. Na izany aza, ny serivisy toy izany dia matetika ilaina amin'ny tranga izay tsy maintsy miasa amin'ny serivisy tranonkala tsy misy fanjakana.

Andeha isika hiresaka momba ny lojika raharaham-barotra. Fandrafetana ny lojika fandraharahana, ny fizotran'ny asa ary ny singa

Noho izany, nahavita niresaka momba ny lafiny fotodrafitrasa isan-karazany amin'ny rafitra izahay. Azo inoana fa ny mpampiasa dia tsy mieritreritra akory ireo singa rehetra ao amin'ny rafitrao ary, mazava ho azy, tsy miraharaha azy ireo mihitsy. Ny mpampiasa dia liana amin'ny hoe manao ahoana ny fifandraisana amin'ny rafitrao, inona no mety ho tratra amin'ny fanaovana izany, ary koa ny fomba fanatanterahan'ny rafitra ny baikon'ny mpampiasa, inona ary ahoana no ataony amin'ny angona mpampiasa.

Araka ny soso-kevitry ny lohatenin'ity lahatsoratra ity dia hiresaka momba ny maritrano rindrambaiko sy ny famolavolana rafitra aho. Noho izany, tsy nikasa ny handrakotra ireo lamina famolavolana rindrambaiko izay mamaritra ny fomba famoronana singa rindrambaiko aho. Na izany aza, arakaraky ny fieritreretana momba izany no toa manjavozavo be ny tsipika misy eo amin'ny lamin'ny famolavolana rindrambaiko sy ny lamin'ny maritrano, ary mifandray akaiky ireo hevitra roa ireo. Andeha horaisintsika ohatra fisoratana anarana hetsika (famoahana hetsika). Raha vao manaraka an'io lamina ara-javakanto io ianao, dia hisy fiantraikany amin'ny lafiny rehetra amin'ny rafitrao izany: fitahirizana angon-drakitra maharitra, ny haavon'ny tsy fitoviana raisina ao amin'ny rafitrao, ny endrik'ireo singa ao anatiny, sns., sns. Noho izany, nanapa-kevitra aho ny hilaza ireo lamina ara-javakanto izay mifandray mivantana amin'ny lojika fandraharahana. Na dia tsy maintsy mametra ny tenany amin'ny lisitra tsotra aza ity lahatsoratra ity, dia mamporisika anao aho hahafantatra azy sy hieritreritra ireo hevitra mifandray amin'ireo lamina ireo. Indro ianao:

Fomba fiaraha-miasa

Tsy dia azo inoana loatra fa ho mpandray anjara iray izay tompon'andraikitra amin'ny fizotran'ny famolavolana rafitra ianao. Mifanohitra amin'izany, mety tsy maintsy mifandray amin'ny mpiara-miasa miasa ao anatiny sy ivelan'ny asanao ianao. Amin'ity tranga ity, mety mila manombana ny vahaolana teknolojia voafantina miaraka amin'ny mpiara-miasa ianao, hamantatra ny filan'ny orinasa ary hahatakatra ny fomba tsara indrindra hampifanaraka ny asa.

Lozisialy Architecture and Systems Design: The Big Picture and Resource Guide

Snapshot Kaleidico avy amin'ny Unsplash

Ny dingana voalohany dia ny fampivelarana fahatakarana marina sy ifampizarana momba ny tanjon'ny orinasa ezahinao tratrarina sy ny ampahany mihetsika tsy maintsy atrehinao. Teknika modely amin'ny vondrona, indrindra indrindra zava-nitranga rivo-doza (fihoaram-pefy) dia manampy amin'ny fanafainganana tanteraka ity dingana ity ary hampitombo ny vintanao hahomby. Ity asa ity dia azo atao mialoha na aorian'ny drafitrao sisin-tanin'ny serivisinao, ary ampitomboy izany rehefa mihalehibe ny vokatra. Miorina amin'ny haavon'ny tsy fitoviana izay ho tratrarina eto, azonao atao koa ny mamolavola fiteny iombonana ho an'ny contexte voafetra iasanao. Rehefa mila miresaka momba ny rafitry ny rafitrao ianao dia mety ho hitanao fa ilaina izany Modely C4, soso-kevitra Simon Brown, indrindra rehefa mila mahatakatra ny habetsaky ny tsy maintsy hidiranao amin'ny antsipirihan'ilay olana ianao, amin'ny fijerena sary an-tsaina ny zavatra tianao horesahina.

Mety misy teknolojia matotra hafa momba ity lohahevitra ity izay tsy dia ilaina loatra noho ny Domain Driven Design. Na izany aza, miverina amin'ny fahatakarana ny lohahevitra isika, noho izany ny fahalalana sy ny traikefa amin'ny sehatra Famolavolana entin'ny domaine tokony hahasoa anao.

Source: www.habr.com

Add a comment