Dab tsi yog qhov kev cia siab ua tsis tiav, peb yuav daws lawv li cas?
Dab tsi yog qhov kev cia siab rau qhov system sib xws thiab muaj?
Koj puas yuav tsum tau coj mus rau hauv tus account tej yam yuav tsum muaj ntsig txog kev pov thawj sab nraud thiab kev cai thaum ua haujlwm?
Hom ntaub ntawv rhiab heev uas peb yuav khaws cia?
Cov no tsuas yog ob peb nqe lus nug uas muaj txiaj ntsig zoo rau kuv thiab pab pawg uas kuv tau koom nrog ntau xyoo ntawm kev ua haujlwm. Yog tias koj paub cov lus teb rau cov lus nug no (thiab lwm yam uas cuam tshuam rau cov ntsiab lus uas koj yuav tsum tau ua haujlwm), ces koj tuaj yeem maj mam delve rau hauv cov ntsiab lus ntawm qhov teeb meem.
Teem theem pib
Kuv txhais li cas los ntawm "baseline" ntawm no? Qhov tseeb, nyob rau hauv peb lub sij hawm, feem ntau cov teeb meem hauv kev lag luam software "tuaj yeem" daws tau los ntawm cov txheej txheem thiab cov thev naus laus zis uas twb muaj lawm. Raws li, los ntawm kev taug kev toj roob hauv pes no, koj tau txais lub taub hau pib thaum ntsib teeb meem uas lwm tus yuav tsum tau daws ua ntej koj. Tsis txhob hnov ββββqab tias cov kev pab cuam raug sau los daws cov teeb meem kev lag luam thiab cov neeg siv, yog li peb siv zog los daws qhov teeb meem ntawm qhov ncaj thiab yooj yim tshaj plaws (los ntawm tus neeg siv qhov kev xav). Vim li cas qhov no tseem ceeb kom nco ntsoov? Tej zaum hauv koj qhov kev sib koom tes koj nyiam nrhiav cov kev daws teeb meem tshwj xeeb rau txhua qhov teeb meem, vim koj xav tias, "Kuv yog tus programmer zoo li cas yog tias kuv ua raws li cov qauv txhua qhov chaw"? Qhov tseeb, kev kos duab ntawm no yog txiav txim siab txog qhov twg thiab yuav ua li cas. Tau kawg, peb txhua tus yuav tsum tau nrog cov teeb meem tshwj xeeb los ntawm ib ntus, txhua qhov yog qhov kev sib tw tiag tiag. Txawm li cas los xij, yog tias peb theem pib tau hais meej meej, ces peb paub tias yuav siv peb lub zog li cas: nrhiav kev npaj npaj rau kev daws teeb meem uas tau teeb tsa ua ntej peb, lossis kawm ntxiv thiab nkag siab tob dua.
Kuv xav tias kuv muaj peev xwm hais tau rau koj tias yog tus kws tshaj lij ntseeg siab nkag siab txog qhov kev tsim vaj tsev ntawm qee qhov software zoo li cas, ces qhov kev paub no yuav yog qhov tseem ceeb rau kev paub txog kev kos duab ntawm tus kws kos duab thiab tsim lub hauv paus ruaj khov hauv daim teb no.
Okay, yog li pib qhov twg? U Donna Martina Muaj ib lub chaw khaws cia ntawm GitHub hu ua system-tsim-primer, los ntawm qhov koj tuaj yeem kawm paub yuav ua li cas tsim cov tshuab loj, nrog rau kev npaj rau kev xam phaj ntawm lub ncauj lus no. Lub repository muaj ib ntu nrog piv txwv tiag tiag architectures, qhov twg, tshwj xeeb, nws tau txiav txim siab yuav ua li cas lawv mus rau qhov tsim ntawm lawv cov tshuab qee lub tuam txhab paub zooxws li Twitter, Uber, thiab lwm yam.
Txawm li cas los xij, ua ntej hloov mus rau cov khoom siv no, cia peb ua tib zoo saib cov kev sib tw tseem ceeb tshaj plaws uas peb ntsib hauv kev xyaum. Qhov no yog qhov tseem ceeb vim tias koj yuav tsum tau qhia ntau yam ntawm cov teeb meem tawv ncauj thiab ntau qhov teeb meem, thiab tom qab ntawd daws nws nyob rau hauv lub moj khaum ntawm cov kev cai nyob rau hauv quab yuam nyob rau hauv ib tug muab system. Jackson Gabbard, ib tug qub neeg ua haujlwm Facebook, sau 50-feeb video hais txog kev tsim qauv kev xam phaj, qhov twg nws tau qhia nws tus kheej kev paub txog kev tshuaj xyuas ntau pua tus neeg thov. Thaum cov yeeb yaj kiab tsom mus rau kev tsim qauv loj thiab cov txheej txheem ua tiav uas yog qhov tseem ceeb thaum tab tom nrhiav tus neeg sib tw rau txoj haujlwm no, nws tseem yuav ua haujlwm raws li cov peev txheej ntawm cov khoom tseem ceeb tshaj plaws thaum tsim cov tshuab. kuv kuj qhia Cov ntsiab lus daim video no.
Thaum npaj kev sib txuas lus nrog lub ntiaj teb sab nraud, nws yog ib qho tseem ceeb heev kev ruaj ntseg, qhov kev pab cuam uas tseem yuav tsum tau ua tiag tiag thiab nquag ua raws.
Kev sib txuas kev faib tawm
Kuv tsis paub tseeb tias muab cov ncauj lus no tso rau hauv ib ntu yuav zoo li tsim nyog rau txhua tus. Txawm li cas los xij, kuv yuav nthuav tawm lub tswv yim no nthuav dav ntawm no, thiab kuv ntseeg tias cov khoom siv hauv ntu no tau piav qhia meej tshaj plaws los ntawm lo lus "kev sib txuas sib txuas".
Cov kab ke raug tsim los ntawm kev sib txuas ntau yam, thiab lawv cov kev sib txuas lus nrog ib leeg feem ntau yog tsim los ntawm cov txheej txheem tsim, piv txwv li, TCP thiab UDP. Txawm li cas los xij, cov txheej txheem zoo li no feem ntau tsis txaus los ua kom tau raws li txhua qhov kev xav tau ntawm cov tshuab niaj hnub no, uas feem ntau ua haujlwm nyob rau hauv siab load thiab tseem nyob ntawm cov neeg siv xav tau. Nws yog feem ntau tsim nyog los nrhiav txoj hauv kev los faib cov kev sib txuas los tiv thaiv cov khoom siv siab ntawm lub cev.
Qhov kev faib tawm no yog raws li cov neeg paub zoo sau npe system (DNS). Xws li lub kaw lus tso cai rau lub npe hloov pauv xws li hnyav puag ncig robin thiab latency-raws li txoj hauv kev los pab faib cov khoom thauj.
Load ntsuas Nws yog ib qho tseem ceeb heev, thiab yuav luag txhua qhov loj hauv Is Taws Nem uas peb cuam tshuam nrog niaj hnub no yog nyob tom qab ib lossis ntau dua load balancers. Load balancers pab faib cov neeg thov kev thov thoob plaws ntau yam muaj. Load balancers tuaj rau hauv ob qho tib si kho vajtse thiab software, txawm li cas los xij, hauv kev xyaum, ntau zaus koj yuav tsum tau nrog cov software, piv txwv li. HAPROxy ΠΈ ELB. Rov qab proxies conceptually kuj zoo ib yam li load balancers, txawm hais tias muaj ntau yam ntawm thawj thiab thib ob sib txawv. Cov kev sib txawv no yuav tsum raug coj mus rau hauv tus account thaum tsim ib lub system raws li koj xav tau.
Koj kuj yuav tsum paub txog cov ntsiab lus xa tawm network (CDN). CDN yog lub network faib thoob ntiaj teb ntawm proxy servers uas xa cov ntaub ntawv los ntawm cov nodes uas thaj chaw nyob ze rau ib tus neeg siv tshwj xeeb. CDNs yog qhov zoo dua los siv yog tias koj ua haujlwm nrog cov ntaub ntawv zoo li qub sau hauv JavaScript, CSS thiab HTML. Tsis tas li ntawd, cov kev pabcuam huab uas muab cov neeg saib xyuas kev khiav tsheb muaj ntau niaj hnub no, piv txwv li, Azure Traffic Manager, muab kev faib thoob ntiaj teb rau koj thiab txo qis latency thaum ua haujlwm nrog cov ntsiab lus dynamic. Txawm li cas los xij, cov kev pabcuam no feem ntau muaj txiaj ntsig zoo thaum koj yuav tsum ua haujlwm nrog cov kev pabcuam hauv lub vev xaib tsis muaj neeg nyob.
Wb tham txog kev lag luam logic. Kev txhim kho kev lag luam logic, kev ua haujlwm ntws thiab cov khoom
Yog li, peb tau tswj hwm los tham txog ntau yam kev tsim kho vaj tse ntawm qhov system. Feem ntau, tus neeg siv tsis txawm xav txog tag nrho cov ntsiab lus ntawm koj lub cev thiab, ncaj ncees, tsis quav ntsej txog lawv txhua. Tus neeg siv txaus siab rau qhov nws zoo li cuam tshuam nrog koj lub cev, dab tsi tuaj yeem ua tiav los ntawm kev ua qhov no, thiab tseem yuav ua li cas lub kaw lus ua haujlwm rau cov neeg siv cov lus txib, dab tsi thiab nws ua li cas nrog cov neeg siv cov ntaub ntawv.
Raws li lub npe ntawm tsab xov xwm no qhia, kuv yuav tham txog software architecture thiab system tsim. Raws li, kuv tsis tau npaj los npog cov qauv tsim software uas piav qhia txog yuav ua li cas cov khoom siv software tsim. Txawm li cas los xij, qhov ntau kuv xav txog nws, qhov ntau nws zoo li rau kuv tias txoj kab ntawm software tsim qauv thiab cov qauv kev tsim vaj tsev yog qhov muag plooj, thiab ob lub tswv yim zoo sib xws. Cia peb ua piv txwv kev sau npe (kev nthuav qhia qhov chaw). Thaum koj tau txais cov qauv kev tsim vaj tsev no, nws yuav cuam tshuam yuav luag txhua yam ntawm koj lub cev: kev cia ntev ntev ntawm cov ntaub ntawv, qib kev sib xws ntawm koj lub cev, cov duab ntawm cov khoom hauv nws, thiab lwm yam. Yog li ntawd, kuv txiav txim siab hais txog qee cov qauv kev tsim vaj tsev uas cuam tshuam ncaj qha rau kev lag luam logic. Txawm hais tias tsab xov xwm no yuav tsum txwv nws tus kheej rau ib daim ntawv teev npe yooj yim, kuv xav kom koj paub txog nws thiab xav txog cov tswv yim cuam tshuam nrog cov qauv no. Ntawm no koj yog: