Fulumirani zopempha za intaneti ndikugona mwamtendere

Fulumirani zopempha za intaneti ndikugona mwamtendere

Netflix ndiye mtsogoleri pamsika wapa TV pa intaneti - kampani yomwe idapanga ndikukulitsa gawo ili. Netflix imadziwika osati chifukwa cha mndandanda wake wambiri wamakanema ndi makanema apa TV omwe amapezeka pafupifupi kulikonse padziko lapansi komanso chida chilichonse chokhala ndi chiwonetsero, komanso chifukwa cha zomangamanga zodalirika komanso chikhalidwe chapadera chaukadaulo.

Chitsanzo chomveka bwino cha njira ya Netflix yopangira ndikuthandizira machitidwe ovuta adawonetsedwa ku DevOops 2019 SERGEY Fedorov - Director of Development ku Netflix. Omaliza maphunziro a Faculty of Computational Mathematics ndi Masamu ya Nizhny Novgorod State University. Lobachevsky, Sergey m'modzi mwa mainjiniya oyamba mu Open Connect - gulu la CDN ku Netflix. Anapanga machitidwe owunikira ndi kusanthula deta ya kanema, adayambitsa ntchito yotchuka yowunika kuthamanga kwa intaneti FAST.com, ndipo kwa zaka zingapo zapitazi wakhala akugwira ntchito yokonza zopempha za intaneti kuti ntchito ya Netflix igwire ntchito mwamsanga kwa ogwiritsa ntchito.

Lipotilo lidalandira ndemanga zabwino kwambiri kuchokera kwa omwe adatenga nawo gawo pamsonkhano, ndipo takukonzerani malemba.

Mu lipoti lake, Sergei analankhula mwatsatanetsatane

  • za zomwe zimakhudza kuchedwa kwa pempho la intaneti pakati pa kasitomala ndi seva;
  • momwe mungachepetse kuchedwa uku;
  • momwe angapangire, kusunga ndi kuyang'anira machitidwe olekerera zolakwika;
  • momwe mungapezere zotsatira mu nthawi yochepa, komanso ndi chiopsezo chochepa ku bizinesi;
  • momwe mungasankhire zotsatira ndikuphunzira kuchokera ku zolakwa.

Mayankho a mafunsowa safunikira okhawo omwe amagwira ntchito m'mabungwe akuluakulu.

Mfundo ndi njira zomwe zaperekedwa ziyenera kudziwika ndi kuchitidwa ndi aliyense amene amapanga ndikuthandizira zinthu zapaintaneti.

Chotsatira ndi nkhani yochokera ku kawonedwe ka wokamba nkhani.

Kufunika kwa liwiro la intaneti

Kuthamanga kwa pempho la intaneti kumakhudzana mwachindunji ndi bizinesi. Ganizirani zamakampani ogulitsa: Amazon mu 2009 analankhulakuti kuchedwa kwa 100ms kumabweretsa kutaya kwa 1% ya malonda.

Pali zida zam'manja zochulukirachulukira, zotsatiridwa ndi masamba am'manja ndi mapulogalamu. Ngati tsamba lanu litenga nthawi yopitilira masekondi atatu kuti lilowe, mukutaya theka la ogwiritsa ntchito. NDI July 2018 Google imaganiziranso kuthamanga kwa tsamba lanu muzotsatira zakusaka: tsamba lachangu, ndipamene lili pamwamba pa Google.

Kuthamanga kwalumikizidwe ndikofunikiranso m'mabungwe azachuma komwe latency ndiyofunikira. Mu 2015, Hibernia Networks kumaliza chingwe cha $ 400 miliyoni pakati pa New York ndi London kuti achepetse latency pakati pa mizinda ndi 6ms. Tangoganizani $66 miliyoni pa 1 ms ya kuchepetsa latency!

Malingana ndi kafukufuku, Kuthamanga kwa kugwirizana pamwamba pa 5 Mbit / s sikukhudzanso mwachindunji kuthamanga kwa webusaiti yeniyeni. Komabe, pali ubale wamzere pakati pa latency yolumikizana ndi liwiro lotsitsa masamba:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Komabe, Netflix si chinthu wamba. Zotsatira za latency ndi liwiro pa wogwiritsa ntchito ndi gawo lokhazikika la kusanthula ndi chitukuko. Pali kutsitsa kwa mapulogalamu ndi kusankha zomwe zimadalira latency, koma kuyika zinthu zosasunthika ndikutsitsa kumadaliranso kuthamanga kwa kulumikizana. Kusanthula ndi kukhathamiritsa zinthu zazikulu zomwe zimakhudza zomwe wogwiritsa ntchito amakumana nazo ndi gawo logwira ntchito lamagulu angapo pa Netflix. Chimodzi mwa zolinga ndikuchepetsa kuchedwa kwa zopempha pakati pa zida za Netflix ndi zomangamanga zamtambo.

Mu lipotilo tidzayang'ana makamaka kuchepetsa latency pogwiritsa ntchito chitsanzo cha zomangamanga za Netflix. Tiyeni tiganizire kuchokera pamalingaliro othandiza momwe tingayandikire njira zopangira, chitukuko ndi ntchito za machitidwe ovuta omwe amagawidwa ndikugwiritsa ntchito nthawi pazatsopano ndi zotsatira, m'malo mozindikira mavuto ogwirira ntchito ndi kuwonongeka.

Mkati mwa Netflix

Zida masauzande ambiri zimathandizira mapulogalamu a Netflix. Amapangidwa ndi magulu anayi osiyanasiyana, omwe amapanga mitundu yosiyana ya kasitomala wa Android, iOS, TV ndi asakatuli. Ndipo timachita khama kwambiri kukonza ndikusintha zomwe ogwiritsa ntchito amakumana nazo. Kuti tichite izi, timayesa mazana a mayeso a A/B mofanana.

Kupanga makonda kumathandizidwa ndi mazana a ma microservices mumtambo wa AWS, opereka chidziwitso chamunthu payekha, kutumiza mafunso, telemetry, Big Data ndi Encoding. Mawonekedwe amgalimoto amawoneka motere:

Lumikizani kuvidiyo ndi chiwonetsero (6:04-6:23)

Kumanzere ndi malo olowera, ndiyeno magalimoto amagawidwa pakati pa mazana angapo a microservices omwe amathandizidwa ndi magulu osiyanasiyana a backend.

Chigawo china chofunikira pazitukuko zathu ndi Open Connect CDN, yomwe imapereka zokhazikika kwa ogwiritsa ntchito - makanema, zithunzi, ma code kasitomala, ndi zina zambiri. CDN ili pa maseva achizolowezi (OCA - Open Connect Appliance). Mkati mwake muli ma drive a SSD ndi HDD omwe amayendetsa bwino FreeBSD, yokhala ndi NGINX ndi ntchito zingapo. Timakonza ndi kukonza zida za hardware ndi mapulogalamu kuti seva ya CDN yotereyi itumize zambiri momwe tingathere kwa ogwiritsa ntchito.

"Khoma" la maseva awa pamalo osinthira magalimoto pa intaneti (Internet eXchange - IX) akuwoneka motere:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Internet Exchange imapereka kuthekera kwa opereka chithandizo pa intaneti ndi opereka zinthu kuti "alumikizane" wina ndi mnzake kuti asinthane zambiri pa intaneti. Pali pafupifupi 70-80 Internet Exchange malo padziko lonse lapansi komwe maseva athu amayikidwa, ndipo timawayika pawokha ndikusunga:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Kuphatikiza apo, timaperekanso ma seva mwachindunji kwa opereka intaneti, omwe amawayika pamanetiweki awo, kupititsa patsogolo kufalikira kwa Netflix komanso kutsatsa kwabwino kwa ogwiritsa ntchito:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Seti ya mautumiki a AWS ndi omwe ali ndi udindo wotumiza zopempha zamakanema kuchokera kwa makasitomala kupita ku maseva a CDN, komanso kukonza ma seva okha - kukonzanso zomwe zili, khodi ya pulogalamu, zoikamo, ndi zina zambiri. Pomaliza, tinapanganso netiweki yam'mbuyo yomwe imalumikiza ma seva mu Internet Exchange point ndi AWS. Netiweki ya msana ndi intaneti yapadziko lonse lapansi ya zingwe za fiber optic ndi ma routers omwe titha kupanga ndikusintha malinga ndi zosowa zathu.

Ndi Sandvine kuyerekezera, makina athu a CDN amapereka pafupifupi β…› kuchuluka kwa anthu padziko lonse lapansi pa intaneti nthawi yayitali komanso β…“ ya kuchuluka kwa magalimoto ku North America, komwe Netflix yakhala nthawi yayitali kwambiri. Manambala ochititsa chidwi, koma kwa ine chimodzi mwazinthu zodabwitsa kwambiri ndikuti dongosolo lonse la CDN limapangidwa ndikusamalidwa ndi gulu la anthu osakwana 150.

Poyamba, zida za CDN zidapangidwa kuti zipereke deta yamavidiyo. Komabe, m'kupita kwanthawi tidazindikira kuti titha kugwiritsanso ntchito kukhathamiritsa zopempha zamakasitomala mumtambo wa AWS.

Za mathamangitsidwe a intaneti

Masiku ano, Netflix ili ndi zigawo za 3 AWS, ndipo kuchedwa kwa zopempha kumtambo kudzadalira kuti kasitomala ali kutali bwanji ndi dera lapafupi. Nthawi yomweyo, tili ndi ma seva ambiri a CDN omwe amagwiritsidwa ntchito popereka zinthu zokhazikika. Kodi pali njira iliyonse yogwiritsira ntchito chimangochi kuti mufulumizitse mafunso osinthika? Komabe, mwatsoka, ndizosatheka kusungitsa zopemphazi - ma API amapangidwa ndi makonda ndipo zotsatira zake zimakhala zosiyana.

Tiyeni tipange woyimira pa seva ya CDN ndikuyamba kutumiza magalimoto kudzera pamenepo. Kodi idzakhala yachangu?

Zida

Tikumbukire momwe ma protocol a network amagwirira ntchito. Masiku ano, magalimoto ambiri pa intaneti amagwiritsa ntchito ma HTTP, zomwe zimatengera ma protocol apansi a TCP ndi TLS. Kuti kasitomala alumikizane ndi seva, imagwirana chanza, ndikukhazikitsa kulumikizana kotetezeka, kasitomala amayenera kusinthanitsa mauthenga ndi seva katatu komanso nthawi inanso kuti atumize deta. Ndi latency paulendo wozungulira (RTT) wa 100 ms, zingatitengere 400 ms kuti tilandire deta yoyamba:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Ngati tiyika ziphaso pa seva ya CDN, ndiye kuti nthawi yogwirana chanza pakati pa kasitomala ndi seva imatha kuchepetsedwa kwambiri ngati CDN ili pafupi. Tiyerekeze kuti latency kwa seva ya CDN ndi 30ms. Kenako zidzatenga 220 ms kuti mulandire pang'ono koyamba:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Koma ubwino wake suthera pamenepo. Chilumikizocho chikakhazikitsidwa, TCP imawonjezera zenera la kusokonekera (kuchuluka kwa chidziwitso chomwe chingathe kufalitsa pa kugwirizana kumeneku mofanana). Ngati paketi ya data yatayika, ndiye kuti kukhazikitsa kwachikale kwa TCP protocol (monga TCP New Reno) kumachepetsa "zenera" lotseguka ndi theka. Kukula kwa zenera lachisokonezo, ndi liwiro la kuchira kwake kutayika kachiwiri kumadalira kuchedwa (RTT) kwa seva. Ngati kulumikizana uku kumangopita pa seva ya CDN, kuchira uku kudzakhala kofulumira. Panthawi imodzimodziyo, kutayika kwa paketi ndizochitika zenizeni, makamaka kwa ma intaneti opanda zingwe.

Kuthamanga kwa intaneti kutha kuchepetsedwa, makamaka nthawi yayitali kwambiri, chifukwa cha kuchuluka kwa magalimoto kuchokera kwa ogwiritsa ntchito, zomwe zingayambitse kusokonekera kwa magalimoto. Komabe, palibe njira pa intaneti yoperekera zopempha zina patsogolo kuposa zina. Mwachitsanzo, perekani patsogolo zopempha zing'onozing'ono komanso zochedwerapo kuposa "zambiri" zomwe zimatsegula maukonde. Komabe, kwa ife, kukhala ndi makina athu a msana kumatithandiza kuti tichite izi pa mbali ya njira yopempha - pakati pa CDN ndi mtambo, ndipo tikhoza kuyikonza mokwanira. Mutha kuwonetsetsa kuti mapaketi ang'onoang'ono komanso osamva kuchedwa amakhala otsogola, ndipo kutulutsa kwakukulu kwa data kumapita pakapita nthawi. Kuyandikira kwa CDN kwa kasitomala, kumagwira ntchito bwino kwambiri.

Ma protocol apulogalamu (OSI Level 7) amakhudzanso latency. Ma protocol atsopano monga HTTP/2 amakulitsa magwiridwe antchito a zopempha zofanana. Komabe, tili ndi makasitomala a Netflix okhala ndi zida zakale zomwe sizigwirizana ndi ma protocol atsopano. Simakasitomala onse omwe angathe kusinthidwa kapena kusinthidwa bwino. Panthawi imodzimodziyo, pakati pa proxy CDN ndi mtambo pali kulamulira kwathunthu ndi kutha kugwiritsa ntchito ma protocol atsopano, abwino kwambiri ndi zoikamo. Gawo losagwira ntchito ndi ma protocol akale lidzangogwira ntchito pakati pa kasitomala ndi seva ya CDN. Komanso, titha kupanga zopempha zambiri pamalumikizidwe omwe akhazikitsidwa kale pakati pa CDN ndi mtambo, ndikuwongolera kugwiritsa ntchito kulumikizana pamlingo wa TCP:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Timayezera

Ngakhale kuti chiphunzitsocho chimalonjeza kusintha, sitithamangira mwamsanga kuyambitsa makina opanga. M'malo mwake, choyamba tiyenera kutsimikizira kuti lingalirolo lidzagwira ntchito. Kuti muchite izi muyenera kuyankha mafunso angapo:

  • Kuthamanga: Kodi proxy idzakhala yachangu?
  • Kudalirika: Kodi imasweka nthawi zambiri?
  • Kuvuta: momwe mungaphatikizire ndi mapulogalamu?
  • mtengo: Zimawononga ndalama zingati kuyika zida zowonjezera?

Tiyeni tilingalire mwatsatanetsatane njira yathu yowunika mfundo yoyamba. Enanso amachitidwa mofananamo.

Kuti tifufuze kuthamanga kwa zopempha, tikufuna kupeza deta kwa onse ogwiritsa ntchito, osawononga nthawi yambiri pa chitukuko komanso popanda kuphwanya kupanga. Pali njira zingapo zochitira izi:

  1. RUM, kapena muyeso wongopempha chabe. Timayesa nthawi yochitira zopempha zaposachedwa kuchokera kwa ogwiritsa ntchito ndikuwonetsetsa kuti ogwiritsa ntchito azigwiritsa ntchito. Choyipa ndichakuti chizindikirocho sichikhazikika kwambiri chifukwa cha zinthu zambiri, mwachitsanzo, chifukwa chamitundu yosiyanasiyana yopempha, nthawi yokonza pa seva ndi kasitomala. Kuphatikiza apo, simungathe kuyesa kasinthidwe kwatsopano popanda zotsatira pakupanga.
  2. Mayeso a labotale. Ma seva apadera ndi zomangamanga zomwe zimatsanzira makasitomala. Ndi chithandizo chawo timayesa mayeso ofunikira. Mwanjira iyi timakhala ndi ulamuliro wonse pazotsatira zoyezera ndi chizindikiro chomveka bwino. Koma palibe kuphimba kwathunthu kwa zida ndi malo ogwiritsa ntchito (makamaka ndi ntchito yapadziko lonse lapansi ndikuthandizira masauzande amitundu yazida).

Kodi mungaphatikize bwanji ubwino wa njira zonsezi?

Gulu lathu lapeza yankho. Tinalemba kachidutswa kakang'ono ka code - chitsanzo - chomwe tinapanga mu ntchito yathu. Ma probes amatilola kuti tiziyesa mayeso owongolera pamanetiweki kuchokera pazida zathu. Zimagwira ntchito motere:

  1. Titangotsegula pulogalamuyo ndikumaliza ntchito yoyamba, timayendetsa zofufuza zathu.
  2. Wothandizira amapempha kwa seva ndipo amalandira "chiphikidwe" cha mayesero. Chinsinsicho ndi mndandanda wa ma URL omwe pempho la HTTP (s) likufunika kupangidwa. Kuphatikiza apo, maphikidwewo amakonza zopempha: kuchedwa pakati pa zopempha, kuchuluka kwa zomwe zafunsidwa, mitu ya HTTP, ndi zina zambiri. Panthawi imodzimodziyo, tikhoza kuyesa maphikidwe angapo osiyanasiyana mofanana - popempha kasinthidwe, timasankha njira yomwe tingapereke.
  3. Nthawi yoyambitsa kafukufukuyo imasankhidwa kuti isasemphane ndi kugwiritsa ntchito zida zapaintaneti pa kasitomala. Kwenikweni, nthawi imasankhidwa pamene kasitomala sakugwira ntchito.
  4. Atalandira Chinsinsi, kasitomala amapempha aliyense wa ma URL, mofanana. Pempho kwa aliyense maadiresi akhoza kubwerezedwa - otchedwa. "zilumba". Pakugunda koyamba, timayesa nthawi yayitali kuti tikhazikitse kulumikizana ndikutsitsa deta. Pakugunda kwachiwiri, timayesa nthawi yomwe imatengera kuyika deta pa intaneti yomwe yakhazikitsidwa kale. Pamaso pa chachitatu, tikhoza kukhazikitsa kuchedwa ndi kuyeza liwiro kukhazikitsa kulumikizanso, etc.

    Pakuyesa, timayezera magawo onse omwe chipangizocho chingapeze:

    • DNS nthawi yopempha;
    • nthawi yokhazikitsa kugwirizana kwa TCP;
    • nthawi yolumikizira TLS;
    • nthawi yolandira byte yoyamba ya data;
    • nthawi yonse yotsegula;
    • status result kodi.
  5. Ma pulse onse akamaliza, chitsanzocho chimanyamula miyeso yonse kuti iwunike.

Fulumirani zopempha za intaneti ndikugona mwamtendere

Mfundo zazikuluzikulu ndizodalira pang'ono pamalingaliro pa kasitomala, kukonza deta pa seva ndi kuyeza kwa zopempha zofanana. Chifukwa chake, timatha kudzipatula ndikuyesa kutengera kwazinthu zosiyanasiyana zomwe zimakhudza magwiridwe antchito a mafunso, kuzisintha munjira imodzi, ndikupeza zotsatira kuchokera kwa makasitomala enieni.

Zomangamangazi zakhala zothandiza pazambiri kuposa kungosanthula kachitidwe ka mafunso. Panopa tili ndi maphikidwe 14 ogwira ntchito, zitsanzo zoposa 6000 pa sekondi iliyonse, kulandira deta kuchokera kumakona onse a dziko lapansi ndi kufalikira kwa zipangizo zonse. Ngati Netflix idagula ntchito yofananira kuchokera kwa munthu wina, zingawononge madola mamiliyoni ambiri pachaka, ndikuphimba koyipa kwambiri.

Kuyesa chiphunzitso muzochita: prototype

Ndi dongosolo lotere, tinatha kuwunika momwe ma proxies a CDN amathandizira pakupempha latency. Tsopano muyenera:

  • kupanga proxy prototype;
  • ikani chithunzicho pa CDN;
  • kudziwa momwe mungawongolere makasitomala ku proxy pa seva inayake ya CDN;
  • Fananizani magwiridwe antchito ndi zopempha mu AWS popanda woyimira.

Ntchitoyi ndikuwunika momwe yankho lomwe likufunsidwa likuyendera mwachangu momwe zingathere. Tinasankha Go kuti tigwiritse ntchito chitsanzocho chifukwa cha kupezeka kwa malaibulale abwino ochezera pa intaneti. Pa seva iliyonse ya CDN, tidayika prototype proxy ngati binary yokhazikika kuti tichepetse kudalira komanso kuphweka kuphatikiza. Pakukhazikitsa koyambirira, tidagwiritsa ntchito zigawo zokhazikika momwe tingathere komanso zosintha zazing'ono pakuphatikiza kulumikizana kwa HTTP/2 ndikupempha ma multiplexing.

Kuti tigwirizane pakati pa zigawo za AWS, tidagwiritsa ntchito nkhokwe ya DNS, yomwe imagwiritsidwanso ntchito kulinganiza makasitomala. Kusankha seva ya CDN kwa kasitomala, timagwiritsa ntchito TCP Anycast pamaseva mu Internet Exchange (IX). Mwanjira iyi, timagwiritsa ntchito adilesi imodzi ya IP kwa ma seva onse a CDN, ndipo kasitomala adzatumizidwa ku seva ya CDN yokhala ndi ma IP hop ochepa. Mu maseva a CDN oikidwa ndi opereka intaneti (ISPs), tilibe ulamuliro pa rauta kuti tikonze TCP Anycast, kotero timagwiritsa ntchito malingaliro omwewo, yomwe imatsogolera makasitomala kwa omwe amapereka intaneti kuti azitha kusuntha mavidiyo.

Chifukwa chake, tili ndi njira zitatu zofunsira: kupita kumtambo kudzera pa intaneti yotseguka, kudzera pa seva ya CDN ku IX, kapena kudzera pa seva ya CDN yomwe ili pa intaneti. Cholinga chathu ndikumvetsetsa njira yomwe ili yabwinoko, komanso phindu la proxy, poyerekeza ndi momwe zopempha zimatumizidwa kukupanga. Kuti tichite izi, timagwiritsa ntchito sampuli monga:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Njira iliyonse imakhala chandamale chosiyana, ndipo timayang'ana nthawi yomwe tapeza. Kuti tiwunike, timaphatikiza zotsatira za projekiti kukhala gulu limodzi (sankhani nthawi yabwino pakati pa ma proxies a IX ndi ISP), ndikufanizira ndi nthawi yofunsira kumtambo popanda woyimira:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Monga mukuonera, zotsatira zake zinali zosakanikirana - nthawi zambiri wothandizira amapereka liwiro labwino, koma palinso chiwerengero chokwanira cha makasitomala omwe zinthu zidzaipiraipira kwambiri.

Chifukwa chake, tinachita zinthu zingapo zofunika:

  1. Tidawunika momwe zopempha zochokera kwamakasitomala zimayendera pamtambo kudzera pa projekiti ya CDN.
  2. Tinalandira deta kuchokera kwa makasitomala enieni, kuchokera ku mitundu yonse ya zipangizo.
  3. Tinazindikira kuti chiphunzitsocho sichinatsimikizidwe 100% ndipo kupereka koyamba ndi proxy CDN sikungagwire ntchito kwa ife.
  4. Sitinaike pachiwopsezo - sitinasinthe masinthidwe opangira makasitomala.
  5. Palibe chomwe chidasweka.

Mtundu wa 2.0

Choncho, bwererani ku bolodi lojambula ndikubwereza ndondomekoyi kachiwiri.

Lingaliro ndiloti m'malo mogwiritsa ntchito 100% proxy, tidzadziwa njira yofulumira kwambiri kwa kasitomala aliyense, ndipo tidzatumiza zopempha kumeneko - ndiko kuti, tidzachita zomwe zimatchedwa kasitomala chiwongolero.

Fulumirani zopempha za intaneti ndikugona mwamtendere

Kodi kukhazikitsa izi? Sitingagwiritse ntchito malingaliro kumbali ya seva, chifukwa... Cholinga ndikulumikiza ku seva iyi. Payenera kukhala njira ina yochitira izi pa kasitomala. Ndipo moyenera, chitani izi ndi chiwerengero chochepa cha logic yovuta, kuti musathetse vuto la kuphatikiza ndi chiwerengero chachikulu cha nsanja za makasitomala.

Yankho ndikugwiritsa ntchito DNS. Kwa ife, tili ndi zida zathu za DNS, ndipo titha kukhazikitsa madera omwe ma seva athu azikhala olamulira. Zimagwira ntchito motere:

  1. Makasitomala amapanga pempho ku seva ya DNS pogwiritsa ntchito wolandila, mwachitsanzo api.netflix.xom.
  2. Pempho likufika pa seva yathu ya DNS
  3. Seva ya DNS imadziwa njira yomwe ili yothamanga kwambiri kwa kasitomala uyu ndipo imapereka adilesi yofananira ya IP.

Yankho lake lili ndi zovuta zina: opereka olamulira a DNS sawona adilesi ya IP ya kasitomala ndipo amatha kungowerenga adilesi ya IP ya wokonzanso wobwereza omwe kasitomala amagwiritsa ntchito.

Zotsatira zake, woweruza wathu wopondereza ayenera kupanga chisankho osati kwa kasitomala payekha, koma gulu lamakasitomala kutengera wokonzanso wobwereza.

Kuti tithetse, timagwiritsa ntchito zitsanzo zomwezo, kusonkhanitsa zotsatira za muyeso kuchokera kwa makasitomala pazidziwitso zilizonse zomwe zimabwereranso ndikusankha komwe tingatumizire gulu ili - woyimira pa IX pogwiritsa ntchito TCP Anycast, kudzera pa projekiti ya ISP, kapena mwachindunji kumtambo.

Timapeza ndondomekoyi:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Chotsatira chowongolera cha DNS chimakupatsani mwayi wowongolera makasitomala potengera zomwe zidachitika kale za liwiro la kulumikizana kuchokera kwa makasitomala kupita kumtambo.

Apanso, funso ndilakuti njira iyi idzagwira ntchito bwanji? Kuti tiyankhe, timagwiritsanso ntchito pulogalamu yathu yofufuza. Chifukwa chake, timakonza kasinthidwe kawonetsero, pomwe chimodzi mwazolinga chimatsatira malangizo kuchokera ku chiwongolero cha DNS, chinacho chimapita kumtambo (kupanga pano).

Fulumirani zopempha za intaneti ndikugona mwamtendere

Zotsatira zake, timafanizira zotsatira ndikuwunika momwe zimagwirira ntchito:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Chifukwa chake, tinaphunzira zinthu zingapo zofunika:

  1. Tidawunika momwe zopempha zochokera kwamakasitomala zimayendera pamtambo pogwiritsa ntchito DNS Steering.
  2. Tinalandira deta kuchokera kwa makasitomala enieni, kuchokera ku mitundu yonse ya zipangizo.
  3. Kuchita bwino kwa lingaliro lomwe laperekedwa kwatsimikiziridwa.
  4. Sitinaike pachiwopsezo - sitinasinthe masinthidwe opangira makasitomala.
  5. Palibe chomwe chidasweka.

Tsopano za gawo lovuta - tikuyambitsa kupanga

Gawo losavuta tsopano latha - pali chitsanzo chogwira ntchito. Tsopano gawo lovuta likuyambitsa yankho lamayendedwe onse a Netflix, kutumizira ogwiritsa ntchito miliyoni 150, zida masauzande, mazana a ma microservices, ndi zinthu zomwe zikusintha nthawi zonse. Ma seva a Netflix amalandira zopempha mamiliyoni pa sekondi iliyonse, ndipo n'zosavuta kuswa ntchitoyo ndikuchita mosasamala. Panthawi imodzimodziyo, tikufuna kuyendetsa magalimoto pamsewu kudzera pa ma seva a CDN masauzande ambiri pa intaneti, pamene chinachake chimasintha ndikusweka nthawi zonse komanso panthawi yosayenera.

Ndipo ndi zonsezi, gululi lili ndi mainjiniya a 3 omwe ali ndi udindo wopititsa patsogolo chitukuko, kutumiza ndi kuthandizira kwathunthu dongosololi.

Choncho, tipitiriza kulankhula za kugona mopumula komanso wathanzi.

Kodi mungapitilize bwanji chitukuko komanso osawononga nthawi yanu yonse pakuthandizira? Njira yathu idakhazikitsidwa pa mfundo zitatu:

  1. Timachepetsa kuchuluka kwa kuwonongeka (kuphulika kozungulira).
  2. Tikukonzekera zodabwitsa - tikuyembekeza kuti chinachake chidzasweka, ngakhale kuyesedwa ndi zochitika zaumwini.
  3. Kuwonongeka kwachisomo - ngati china chake sichikuyenda bwino, chikuyenera kukhazikika, ngakhale sichingakhale bwino.

Zinapezeka kuti kwa ife, ndi njira iyi yothetsera vutoli, titha kupeza njira yosavuta komanso yothandiza komanso yochepetsera chithandizo chadongosolo. Tidazindikira kuti titha kuwonjezera kachidutswa kakang'ono kwa kasitomala ndikuyang'anira zolakwa zofunsira maukonde chifukwa cha zovuta zolumikizana. Pakachitika zolakwika zapaintaneti, timabwereranso kumtambo. Yankho limeneli silifuna khama lalikulu kwa magulu a makasitomala, koma limachepetsa kwambiri chiopsezo cha kuwonongeka kosayembekezereka ndi zodabwitsa kwa ife.

Zachidziwikire, ngakhale titabwerera m'mbuyo, timatsatirabe malangizo omveka bwino pakukula:

  1. Mayeso a zitsanzo.
  2. Kuyesa kwa A / B kapena Canaries.
  3. Kutulutsa kopita patsogolo.

Ndi zitsanzo, njirayo yafotokozedwa - zosintha zimayesedwa koyamba pogwiritsa ntchito njira yokhazikika.

Pakuyesa kwa canary, tifunika kupeza ma seva ofananira omwe tingafanizire momwe dongosololi limagwirira ntchito zisanachitike komanso zitasintha. Kuti tichite izi, kuchokera kumasamba athu ambiri a CDN, timasankha ma seva omwe amalandira magalimoto ofanana:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Kenaka timayika kumanga ndi kusintha kwa seva ya Canary. Kuti tiwone zotsatira, timayendetsa dongosolo lomwe limafanizira pafupifupi ma metric 100-150 ndi zitsanzo za ma seva owongolera:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Ngati kuyesa kwa Canary kukuyenda bwino, ndiye kuti timamasula pang'onopang'ono, m'mafunde. Sitisintha ma seva patsamba lililonse nthawi imodzi - kutaya tsamba lonse chifukwa cha zovuta kumakhudza kwambiri ntchito kwa ogwiritsa ntchito kuposa kutaya kuchuluka kwa ma seva m'malo osiyanasiyana.

Kawirikawiri, mphamvu ndi chitetezo cha njirayi zimadalira kuchuluka ndi ubwino wazitsulo zomwe zasonkhanitsidwa. Pamakina athu ofulumizitsa mafunso, timasonkhanitsa ma metrics kuchokera kuzinthu zonse zomwe zingatheke:

  • kuchokera kwa makasitomala - chiwerengero cha magawo ndi zopempha, mitengo yobwereranso;
  • proxy - ziwerengero za chiwerengero ndi nthawi ya zopempha;
  • DNS - nambala ndi zotsatira za zopempha;
  • mtambo m'mphepete - nambala ndi nthawi yokonza zopempha mumtambo.

Zonsezi zimasonkhanitsidwa mupaipi imodzi, ndipo, malingana ndi zosowa, timasankha ma metric omwe tingatumize ku ma analytics a nthawi yeniyeni, ndi Elasticsearch kapena Big Data kuti mudziwe zambiri.

Timawunika

Fulumirani zopempha za intaneti ndikugona mwamtendere

Kwa ife, tikupanga kusintha panjira yovuta ya zopempha pakati pa kasitomala ndi seva. Nthawi yomweyo, kuchuluka kwa magawo osiyanasiyana pa kasitomala, pa seva, komanso panjira yodutsa pa intaneti ndi yayikulu. Kusintha kwa kasitomala ndi seva kumachitika nthawi zonse - pakugwira ntchito kwamagulu ambiri komanso kusintha kwachilengedwe m'chilengedwe. Tili pakati - pozindikira mavuto, pali mwayi wabwino kuti titenge nawo mbali. Chifukwa chake, tiyenera kumvetsetsa bwino momwe tingatanthauzire, kusonkhanitsa ndi kusanthula ma metrics kuti tipeze mavuto mwachangu.

Momwemo, mwayi wofikira kumitundu yonse yama metric ndi zosefera munthawi yeniyeni. Koma pali ma metric ambiri, kotero funso la mtengo limabwera. Kwa ife, timalekanitsa ma metric ndi zida zachitukuko motere:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Kuti tizindikire ndikuyesa mavuto timagwiritsa ntchito makina athu otseguka a nthawi yeniyeni Atlas ΠΈ Lumen - kwa mawonekedwe. Imasunga ma metric ophatikizika kukumbukira, ndi odalirika komanso amalumikizana ndi makina ochenjeza. Kuti tipeze kumasulira kwanuko komanso kuwunika, tili ndi mwayi wopeza zipika zochokera ku Elasticsearch ndi Kibana. Pakusanthula ziwerengero ndi kufananiza, timagwiritsa ntchito deta yayikulu ndikuwonera mu Tableau.

Zikuwoneka kuti njira iyi ndi yovuta kwambiri kugwira ntchito. Komabe, pokonza ma metric ndi zida mwadongosolo, titha kusanthula vuto mwachangu, kudziwa mtundu wavuto, kenako ndikuwongolera mwatsatanetsatane. Nthawi zambiri, timakhala pafupifupi mphindi 1-2 kuti tidziwe komwe kumachokera. Pambuyo pake, timagwira ntchito ndi gulu linalake pa matenda - kuchokera maminiti makumi angapo mpaka maola angapo.

Ngakhale matendawo atachitidwa mwachangu, sitifuna kuti izi zizichitika pafupipafupi. Moyenera, tidzangolandira chenjezo lovuta pakakhala kukhudzidwa kwakukulu pautumiki. Pamakina athu ofulumizitsa mafunso, tili ndi zidziwitso ziwiri zokha zomwe zingadziwitse:

  • Peresenti ya Client Fallback - kuwunika kwa machitidwe a kasitomala;
  • peresenti Zolakwika za Probe - deta yokhazikika ya zigawo za maukonde.

Zidziwitso zovuta izi zimawunika ngati dongosololi likugwira ntchito kwa ogwiritsa ntchito ambiri. Tikuwona kuchuluka kwamakasitomala omwe adagwiritsa ntchito kubweza ngati sanathe kupeza mathamangitsidwe a pempho. Timakhala ndi chenjezo lochepera 1 pa sabata, ngakhale pali zosintha zambiri zomwe zikuchitika mudongosolo. N’chifukwa chiyani izi zatikwana?

  1. Pali kubwereranso kwa kasitomala ngati proxy yathu sikugwira ntchito.
  2. Pali chiwongolero chodziwikiratu chomwe chimayankha zovuta.

Zambiri zakumapeto. Dongosolo lathu loyeserera, komanso kachitidwe kodziwira zokha njira yoyenera yofunsira kuchokera kwa kasitomala kupita kumtambo, imatilola kuti tithane ndi zovuta zina.

Tiyeni tibwerere ku kasinthidwe kathu kachitsanzo ndi magawo atatu anjira. Kuphatikiza pa kutsitsa nthawi, titha kuyang'ana zenizeni zoperekera zokha. Ngati sikunali kotheka kukweza deta, ndiye poyang'ana zotsatira m'njira zosiyanasiyana tikhoza kudziwa komwe ndi zomwe zinasweka, komanso ngati tingathe kuzikonza zokha mwa kusintha njira yopempha.

zitsanzo:

Fulumirani zopempha za intaneti ndikugona mwamtendere

Fulumirani zopempha za intaneti ndikugona mwamtendere

Fulumirani zopempha za intaneti ndikugona mwamtendere

Izi zitha kukhala zokha. Phatikizani mu chiwongolero. Ndipo phunzitsani kuyankha ku zovuta zogwirira ntchito komanso zodalirika. Ngati china chake chikuyamba kusweka, chitani ngati pali njira yabwinoko. Panthawi imodzimodziyo, kuchitapo kanthu mwamsanga sikovuta, chifukwa cha kubwereranso kwa makasitomala.

Choncho, mfundo za chithandizo cha ndondomeko zikhoza kupangidwa motere:

  • kuchepetsa kuchuluka kwa zotupa;
  • kusonkhanitsa ma metrics;
  • Timakonza zokha zowonongeka ngati tingathe;
  • ngati sichingathe, tikukudziwitsani;
  • Tikugwira ntchito pa dashboards ndi triage toolset kuti tiyankhe mwachangu.

Maphunziro

Sizitenga nthawi yochuluka kulemba chitsanzo. Kwa ife, inali yokonzeka patatha miyezi inayi. Ndi izo tinalandira ma metrics atsopano, ndipo miyezi 4 chiyambireni chitukuko tinalandira magalimoto oyambirira kupanga. Kenako ntchito yotopetsa komanso yovuta kwambiri idayamba: pang'onopang'ono kupanga ndikukulitsa dongosolo, sunthani magalimoto akulu ndikuphunzira kuchokera ku zolakwika. Komabe, izi sizikhala zofananira - ngakhale kuyesetsa konse, zonse sizinganenedwe. Ndizothandiza kwambiri kubwereza mwachangu ndikuyankha zatsopano.

Fulumirani zopempha za intaneti ndikugona mwamtendere

Kutengera zomwe takumana nazo, titha kupangira izi:

  1. Osadalira nzeru zanu.

    Chidziwitso chathu chinatilepheretsa nthawi zonse, ngakhale kuti mamembala athu ambiri adakumana nawo. Mwachitsanzo, tidaneneratu molakwika kufulumira koyembekezeka kugwiritsa ntchito projekiti ya CDN, kapena machitidwe a TCP Anycast.

  2. Pezani zambiri kuchokera pazopanga.

    Ndikofunikira kupeza mwayi wopeza zochepa zopangira deta mwachangu momwe zingathere. Ndikosatheka kupeza kuchuluka kwa milandu yapadera, masinthidwe, ndi zoikamo m'malo a labotale. Kufikira mwachangu pazotsatira kukulolani kuti muphunzire mwachangu zamavuto omwe angakhalepo ndikuwaganizira muzomangamanga zamakina.

  3. Osatsatira malangizo ndi zotsatira za anthu ena - sonkhanitsani deta yanu.

    Tsatirani mfundo zosonkhanitsira ndi kusanthula deta, koma musavomereze mwachimbulimbuli zotsatira ndi ziganizo za anthu ena. Ndi inu nokha amene mungadziwe zomwe zimagwira ntchito kwa ogwiritsa ntchito anu. Machitidwe anu ndi makasitomala anu angakhale osiyana kwambiri ndi makampani ena. Mwamwayi, zida zowunikira zilipo tsopano komanso zosavuta kugwiritsa ntchito. Zotsatira zomwe mumapeza sizingakhale zomwe Netflix, Facebook, Akamai ndi makampani ena amati. Kwa ife, machitidwe a TLS, HTTP2 kapena ziwerengero pa zopempha za DNS zimasiyana ndi zotsatira za Facebook, Uber, Akamai - chifukwa tili ndi zipangizo zosiyanasiyana, makasitomala ndi kayendedwe ka deta.

  4. Osatsata mafashoni mosayenera ndipo yesani kuchita bwino.

    Yambani mophweka. Ndi bwino kupanga dongosolo losavuta logwira ntchito mu nthawi yochepa kusiyana ndi kuthera nthawi yambiri mukupanga zigawo zomwe simukuzifuna. Konzani ntchito ndi zovuta zomwe zili zofunika kutengera miyeso yanu ndi zotsatira.

  5. Konzekerani mapulogalamu atsopano.

    Monga momwe zimakhalira zovuta kulosera mavuto onse, n'zovuta kulosera za ubwino ndi ntchito pasadakhale. Yang'anirani omwe angoyamba kumene - kuthekera kwawo kuti agwirizane ndi zomwe makasitomala ali nazo. Kwa inu, mutha kupeza zovuta zatsopano ndi mayankho awo. Mu polojekiti yathu, timakhala ndi cholinga chochepetsera kuchedwa kwa pempho. Komabe, pakuwunika ndi kukambirana, tidazindikira kuti titha kugwiritsanso ntchito ma seva oyimira:

    • kuwongolera kuchuluka kwa magalimoto m'madera onse a AWS ndikuchepetsa mtengo;
    • kutsanzira kukhazikika kwa CDN;
    • kukhazikitsa DNS;
    • kukhazikitsa TLS/TCP.

Pomaliza

Mu lipotilo, ndinalongosola momwe Netflix amathetsera vuto la kufulumizitsa zopempha za intaneti pakati pa makasitomala ndi mtambo. Momwe timasonkhanitsira deta pogwiritsa ntchito njira yotsatsira makasitomala, ndikugwiritsa ntchito mbiri yomwe yasonkhanitsidwa kuti tipeze zopempha kuchokera kwa makasitomala kudzera panjira yothamanga kwambiri pa intaneti. Momwe timagwiritsira ntchito mfundo zama protocol a netiweki, zida zathu za CDN, network ya msana, ndi ma seva a DNS kuti tikwaniritse ntchitoyi.

Komabe, yankho lathu ndi chitsanzo chabe cha momwe ife ku Netflix timagwiritsira ntchito dongosolo lotere. Zimene zinatithandiza. Gawo logwiritsidwa ntchito la lipoti langa kwa inu ndi mfundo zachitukuko ndi chithandizo chomwe timatsatira ndikupeza zotsatira zabwino.

Yankho lathu pavutoli silingagwirizane ndi inu. Komabe, chiphunzitsocho ndi mfundo zamapangidwe zimakhalabe, ngakhale mulibe zida zanu za CDN, kapena ngati zimasiyana kwambiri ndi zathu.

Kufunika kwa liwiro la zopempha zamalonda kumakhalabe kofunika. Ndipo ngakhale ntchito yosavuta muyenera kusankha: pakati pa opereka mtambo, malo a seva, opereka CDN ndi DNS. Kusankha kwanu kudzakhudza mphamvu ya mafunso a intaneti kwa makasitomala anu. Ndipo ndikofunikira kuti muyeze ndikumvetsetsa kukopa uku.

Yambani ndi njira zosavuta, samalani za momwe mumasinthira mankhwala. Phunzirani pamene mukupita ndikusintha dongosolo kutengera deta kuchokera kwa makasitomala anu, zomangamanga zanu, ndi bizinesi yanu. Ganizirani za kuthekera kwa kuwonongeka kosayembekezereka panthawi yopanga mapangidwe. Kenako mutha kufulumizitsa njira yanu yachitukuko, kusintha magwiridwe antchito, kupewa kulemedwa kofunikira ndikugona mwamtendere.

Chaka chino msonkhano udzachitika kuyambira pa Julayi 6 mpaka 10 mu mawonekedwe a intaneti. Mutha kufunsa mafunso kwa mmodzi mwa abambo a DevOps, John Willis mwiniwake!

Source: www.habr.com

Kuwonjezera ndemanga