Potlakisa likopo tsa inthanete 'me u robale ka khotso

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Netflix ke moetapele 'marakeng oa thelevishene ea Marang-rang - k'hamphani e thehileng le ho nts'etsapele karolo ena ka mafolofolo. Netflix ha e tsejoe feela ka lethathamo la eona le pharalletseng la lifilimi le letoto la seea-le-moea-pono tse fumanehang hoo e batlang e le likhutlong tsohle tsa polanete le sesebelisoa leha e le sefe se nang le pontšo, empa hape le ka mekhoa ea eona ea motheo e tšepahalang le setso se ikhethang sa boenjiniere.

Mohlala o hlakileng oa mokhoa oa Netflix oa ho nts'etsapele le ho ts'ehetsa lits'ebetso tse rarahaneng o hlahisitsoe ho Devoops 2019 Sergey Fedorov - Motsamaisi oa Nts'etsopele ho Netflix. Kalogo ea Faculty of Computational Mathematics le Mathematics ea Nizhny Novgorod State University. Lobachevsky, Sergey e mong oa lienjiniere tsa pele ho Open Connect - sehlopha sa CDN ho Netflix. O thehile litsamaiso tsa ho beha leihlo le ho sekaseka data ea video, a qala ts'ebeletso e tsebahalang ea ho lekola lebelo la khokahano ea Marang-rang FAST.com, 'me lilemong tse' maloa tse fetileng esale a sebetsa ho ntlafatsa likopo tsa Marang-rang e le hore sesebelisoa sa Netflix se sebetse kapele kamoo ho ka khonehang bakeng sa basebelisi.

Tlaleho e fumane maikutlo a molemo ka ho fetisisa ho tsoa ho bankakarolo likopanong, 'me re u lokiselitse mofuta oa mongolo.

Tlalehong ea hae, Sergei o ile a bua ka ho qaqileng

  • mabapi le se amang ho lieha ha likopo tsa Marang-rang pakeng tsa moreki le seva;
  • mokhoa oa ho fokotsa tieho ena;
  • mokhoa oa ho rala, ho boloka le ho beha leihlo litsamaiso tse mamellang liphoso;
  • mokhoa oa ho fihlela sephetho ka nako e khuts'oane, le ka kotsi e fokolang khoebong;
  • mokhoa oa ho sekaseka sephetho le ho ithuta liphosong.

Likarabo tsa lipotso tsena ha li hlokehe feela ke ba sebetsang likoporasi tse kholo.

Melao-motheo le mekhoa e hlahisitsoeng e lokela ho tsejoa le ho sebelisoa ke bohle ba hlahisang le ho tšehetsa lihlahisoa tsa Inthanete.

E latelang ke tlhaloso e tsoang ponong ea sebui.

Bohlokoa ba lebelo la Marang-rang

Lebelo la likopo tsa Marang-rang le amana ka kotloloho le khoebo. Nahana ka indasteri ea mabenkele: Amazon ka 2009 buahore tieho ea 100ms e baka tahlehelo ea 1% ea thekiso.

Ho na le lisebelisoa tse ngata tsa mohala, tse lateloang ke libaka tsa marang-rang le lits'ebetso. Haeba leqephe la hau le nka nako e fetang metsotsoana e 3 ho kenya, u lahleheloa ke halofo ea basebelisi ba hau. LE Phupu 2018 Google e ela hloko lebelo la ho kenya leqephe la hau liphethong tsa lipatlisiso: ha leqephe le potlakile, boemo ba lona bo phahame ho Google.

Lebelo la khokahano le lona le bohlokoa litsing tsa lichelete moo latency e leng bohlokoa. Ka 2015, Hibernia Networks qetile thapo ea $400 milione lipakeng tsa New York le London ho fokotsa latency lipakeng tsa litoropo ka 6ms. Ak'u inahanele $66 milione bakeng sa 1 ms ea ho fokotsa latency!

Ho ea ka patlisiso, lebelo la khokahanyo ka holimo ho 5 Mbit / s ha le sa ama ka ho toba lebelo la ho kenya sebaka sa marang-rang se tloaelehileng. Leha ho le joalo, ho na le kamano pakeng tsa latency ea khokahano le lebelo la ho kenya leqephe:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Leha ho le joalo, Netflix ha se sehlahisoa se tloaelehileng. Tšusumetso ea latency le lebelo ho mosebelisi ke sebaka se sebetsang sa tlhahlobo le nts'etsopele. Ho na le ho kenya ts'ebeliso le khetho ea litaba e itšetlehileng ka latency, empa ho kenya likarolo tse tsitsitseng le ho phallela ho boetse ho itšetlehile ka lebelo la khokahanyo. Ho sekaseka le ho ntlafatsa lintlha tsa bohlokoa tse susumetsang boiphihlelo ba mosebelisi ke sebaka se sebetsang sa nts'etsopele bakeng sa lihlopha tse 'maloa ho Netflix. E 'ngoe ea lipheo ke ho fokotsa latency ea likopo lipakeng tsa lisebelisoa tsa Netflix le lisebelisoa tsa maru.

Tlalehong re tla tsepamisa maikutlo ka ho khetheha ho fokotsa latency ho sebelisa mohlala oa lisebelisoa tsa Netflix. A re ke re nahaneng ka mokhoa o sebetsang oa ho atamela mekhoa ea moralo, nts'etsopele le ts'ebetso ea litsamaiso tse rarahaneng tse ajoang le ho qeta nako ho ntlafatsa le liphetho, ho e-na le ho hlahloba mathata a ts'ebetso le ho senyeha.

Ka hare ho Netflix

Lisebelisoa tse likete tse fapaneng li tšehetsa lisebelisoa tsa Netflix. Li ntlafatsoa ke lihlopha tse 'ne tse fapaneng, tse etsang mefuta e fapaneng ea bareki bakeng sa Android, iOS, TV le libatli tsa marang-rang. 'Me re sebelisa matla a mangata ho ntlafatsa le ho fetola boiphihlelo ba mosebelisi. Ho etsa sena, re tsamaisa liteko tse makholo tsa A/B ka ho tsamaisana.

Ho iketsetsa motho ka mong ho tšehetsoa ke li-microservices tse makholo ho leru la AWS, ho fana ka lintlha tsa motho ka mong, ho romela lipotso, telemetry, Big Data le Encoding. Pono ea sephethephethe e shebahala tjena:

Khokahanyo ea video le pontšo ( 6:04-6:23 )

Ka ho le letšehali ke sebaka sa ho kena, ebe sephethephethe se ajoa har'a li-microservices tse makholo a 'maloa tse tšehetsoeng ke lihlopha tse fapaneng tsa backend.

Karolo e 'ngoe ea bohlokoa ea lisebelisoa tsa rona ke Open Connect CDN, e fanang ka litaba tse tsitsitseng ho mosebelisi oa ho qetela - livideo, litšoantšo, khoutu ea bareki, joalo-joalo. CDN e fumaneha ho li-server tse tloaelehileng (OCA - Open Connect Appliance). Ka hare ho na le mefuta e mengata ea li-drive tsa SSD le HDD tse tsamaisang FreeBSD e ntlafalitsoeng, e nang le NGINX le sehlopha sa lits'ebeletso. Re rala le ho ntlafatsa likarolo tsa hardware le software e le hore seva e joalo ea CDN e ka romela lintlha tse ngata kamoo ho ka khonehang ho basebelisi.

"Lebota" la li-server tsena sebakeng sa phapanyetsano ea sephethephethe sa Marang-rang (Internet eXchange - IX) le shebahala tjena:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Internet Exchange e fana ka bokhoni ba bafani ba lits'ebeletso tsa Marang-rang le bafani ba litaba ho "hokahana" le ba bang ho fapanyetsana lintlha tsa Marang-rang. Ho na le libaka tse ka bang 70-80 tsa Internet Exchange lefatšeng ka bophara moo li-server tsa rona li kentsoeng, 'me re li kenya le ho li hlokomela ka boikemelo:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Ntle le moo, re boetse re fana ka li-server ka kotloloho ho bafani ba Marang-rang, tseo ba li kenyang marang-rang a bona, ho ntlafatsa sebaka sa sephethephethe sa Netflix le boleng ba ho phallela ho basebelisi:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Sehlopha sa lits'ebeletso tsa AWS se na le boikarabello ba ho romela likopo tsa video ho tsoa ho bareki ho li-server tsa CDN, hammoho le ho hlophisa li-server ka botsona - ho ntlafatsa litaba, khoutu ea lenaneo, litlhophiso, joalo-joalo. Bakeng sa morao-rao, re boetse re hahile marang-rang a mokokotlo a hokahanyang li-server libakeng tsa Internet Exchange le AWS. Marang-rang a mokokotlo ke marang-rang a lefats'e a lithapo tsa fiber optic le li-routers tseo re ka li qapang le ho li lokisa ho latela litlhoko tsa rona.

Ka Sandvine likhakanyo, lisebelisoa tsa rona tsa CDN li fana ka hoo e ka bang ⅛ ea sephethephethe sa Marang-rang lefatšeng nakong ea lihora tse phahameng le ⅓ ea sephethephethe Amerika Leboea, moo Netflix e bileng teng nako e telele ka ho fetisisa. Linomoro tse tsotehang, empa ho 'na e' ngoe ea katleho e tsotehang ka ho fetisisa ke hore tsamaiso eohle ea CDN e ntlafatsoa le ho hlokomeloa ke sehlopha sa batho ba ka tlaase ho 150.

Qalong, lisebelisoa tsa CDN li ne li etselitsoe ho fana ka data ea video. Leha ho le joalo, ha nako e ntse e ea re ile ra hlokomela hore re ka e sebelisa hape ho ntlafatsa likopo tse matla ho tsoa ho bareki ba leru la AWS.

Mabapi le ho potlakisa Marang-rang

Kajeno, Netflix e na le libaka tse 3 tsa AWS, 'me ho lieha ha likopo ho leru ho tla itšetleha ka hore na moreki o hole hakae le sebaka se haufi. Ka nako e ts'oanang, re na le li-server tse ngata tsa CDN tse sebelisetsoang ho fana ka litaba tse tsitsitseng. Na ho na le mokhoa oa ho sebelisa moralo ona ho potlakisa lipotso tse matla? Leha ho le joalo, ka bomalimabe, ha ho khonehe ho boloka likopo tsena - li-API li etselitsoe motho ka mong 'me sephetho ka seng se ikhethile.

Ha re etseng proxy ho seva sa CDN mme re qale ho romella sephethephethe ka eona. Na e tla ba kapele?

Lintho tse bonahalang

Ha re hopole hore na li-protocol tsa marang-rang li sebetsa joang. Kajeno, sephethephethe se sengata sa Marang-rang se sebelisa li-HTTP, tse ipapisitseng le li-protocol tse tlase tsa TCP le TLS. E le hore mofani a hokahane le seva, o tšoara letsoho, 'me ho theha khokahanyo e sireletsehileng, mofani o hloka ho fapanyetsana melaetsa le seva ka makhetlo a mararo le bonyane nako e le' ngoe ho fetisetsa data. Ka latency ka leeto le leng le le leng la ho khutla (RTT) ea 100 ms, ho ka re nka 400 ms ho fumana karolo ea pele ea data:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Haeba re beha litifikeiti ho seva sa CDN, joale nako ea ho ts'oarana ka letsoho pakeng tsa mofani le seva e ka fokotseha haholo haeba CDN e le haufi. Ha re nke hore latency ho seva sa CDN ke 30ms. Ebe ho tla nka 220 ms ho amohela karolo ea pele:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Empa melemo ha e felle moo. Hang ha khokahano e se e thehiloe, TCP e eketsa fensetere ea tšubuhlellano (boholo ba tlhahisoleseling eo e ka e fetisang holim'a khokahano eo ka ho bapisa). Haeba pakete ea data e lahlehile, joale ts'ebetsong ea khale ea protocol ea TCP (joaloka TCP New Reno) e fokotsa "fensetere" e bulehileng ka halofo. Khōlo ea fensetere ea tšubuhlellano, le lebelo la ho hlaphoheloa ha eona hape ho tloha tahlehelong e itšetlehile ka ho lieha (RTT) ho seva. Haeba khokahano ena e ea fihla ho seva sa CDN feela, ho hlaphoheloa hona ho tla potlaka. Ka nako e ts'oanang, tahlehelo ea pakete ke ntho e tloaelehileng, haholo-holo bakeng sa marang-rang a se nang mohala.

Marang-rang a marang-rang a ka 'na a fokotseha, haholo-holo nakong ea lihora tse phahameng ka ho fetisisa, ka lebaka la sephethephethe se tsoang ho basebelisi, se ka lebisang tšubuhlellano ea sephethephethe. Leha ho le joalo, Inthaneteng ha ho na mokhoa oa ho beha likopo tse ling pele ho tse ling. Mohlala, fana ka pele ho likopo tse nyane le tse sa utloeng ka morao ho nako ho feta melapo ea data e "boima" e laelang marang-rang. Leha ho le joalo, molemong oa rona, ho ba le marang-rang a rona a mokokotlo ho re lumella ho etsa sena karolong ea tsela ea kopo - pakeng tsa CDN le leru, 'me re ka e lokisa ka botlalo. U ka etsa bonnete ba hore lipakete tse nyane le tse sa utloeng ka morao-rao li etelletsoa pele, 'me phallo e kholo ea data e tsamaea hamorao. Ha CDN e le haufi le moreki, e sebetsa hantle haholo.

Melao ea boemo ba kopo (OSI Level 7) le eona e na le tšusumetso ho latency. Liprothokholo tse ncha tse kang HTTP/2 li ka ntlafatsa ts'ebetso ea likopo tse tšoanang. Leha ho le joalo, re na le bareki ba Netflix ba nang le lisebelisoa tsa khale tse sa tšehetseng liprothokholo tse ncha. Ha se bareki bohle ba ka ntlafatsoang kapa ba hlophisoa hantle. Ka nako e ts'oanang, pakeng tsa moemeli oa CDN le leru ho na le taolo e feletseng le bokhoni ba ho sebelisa mekhoa e mecha, e nepahetseng le litlhophiso. Karolo e sa sebetseng e nang le liprothokholo tsa khale e tla sebetsa feela lipakeng tsa moreki le seva ea CDN. Ho feta moo, re ka etsa likopo tse ngata mabapi le khokahano e seng e thehiloe pakeng tsa CDN le leru, ho ntlafatsa ts'ebeliso ea khokahano maemong a TCP:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Rea lekanya

Ho sa tsotellehe taba ea hore khopolo e tšepisa ntlafatso, ha re potlakele ho qala tsamaiso ea tlhahiso. Ho e-na le hoo, re tlameha ho qala ka ho paka hore khopolo eo e tla sebetsa ka mokhoa o sebetsang. Ho etsa sena o hloka ho araba lipotso tse 'maloa:

  • Lebelo: na moemeli o tla potlaka?
  • Ho tšepahala: Na e tla robeha hangata?
  • Bothata: mokhoa oa ho kopanya le likopo?
  • ditjeho tsa ho: Ke bokae ho kenya lisebelisoa tsa tlatsetso?

A re hlahlobeng ka ho qaqileng mokhoa oa rōna oa ho hlahloba ntlha ea pele. Tse ling kaofela li sebetsanoa le tsona ka tsela e tšoanang.

Ho sekaseka lebelo la likopo, re batla ho fumana data bakeng sa basebelisi bohle, ntle le ho qeta nako e ngata ho nts'etsopele le ntle le ho senya tlhahiso. Ho na le mekhoa e mengata ea sena:

  1. RUM, kapa tekanyo ea kopo feela. Re lekanya nako ea ho phethahatsa likopo tsa hajoale ho tsoa ho basebelisi le ho netefatsa ts'ebetso e felletseng ea basebelisi. Bothata ke hore letšoao ha le tsitsitse haholo ka lebaka la lintlha tse ngata, mohlala, ka lebaka la boholo ba likopo tse fapaneng, nako ea ho sebetsa ho seva le mofani. Ho feta moo, u ke ke ua leka tlhophiso e ncha ntle le phello tlhahisong.
  2. Liteko tsa laboratori. Li-server tse ikhethileng le lisebelisoa tsa motheo tse etsisang bareki. Ka thuso ea bona re etsa liteko tse hlokahalang. Ka tsela ena re fumana taolo e feletseng holim'a liphetho tsa tekanyo le pontšo e hlakileng. Empa ha ho na ts'ebetso e felletseng ea lisebelisoa le libaka tsa basebelisi (haholo-holo ka ts'ebeletso ea lefats'e le ts'ehetso ea likete tsa mefuta ea lisebelisoa).

U ka kopanya melemo ea mekhoa e 'meli joang?

Sehlopha sa rona se fumane tharollo. Re ngotse karoloana e nyane ea khoutu - sampole - eo re e entseng ts'ebelisong ea rona. Li-probe li re lumella ho etsa liteko tsa marang-rang tse laoloang ka botlalo ho tsoa lisebelisoa tsa rona. E sebetsa tjena:

  1. Nakoana ka mor'a ho kenya kopo le ho qeta mosebetsi oa pele, re tsamaisa lipatlisiso tsa rona.
  2. Moreki o etsa kopo ho seva mme o fumana "recipe" bakeng sa tlhahlobo. Recipe ke lethathamo la li-URL tseo kopo ea HTTP e lokelang ho etsoa ho eona. Ntle le moo, risepe e hlophisa liparamente tsa kopo: tieho lipakeng tsa likopo, palo ea data e kopiloeng, lihlooho tsa HTTP, jj. Ka nako e ts'oanang, re ka leka litlolo tse 'maloa tse fapaneng ka ho ts'oana - ha re kopa tlhophiso, re khetha hore na re tla fana ka risepe efe.
  3. Nako ea ho qala probe e khethiloe e le hore e se ke ea loantšana le tšebeliso e sebetsang ea lisebelisoa tsa marang-rang ho mofani. Ha e le hantle, nako e khethoa ha mofani a sa sebetse.
  4. Kamora ho amohela risepe, moreki o etsa likopo ho e 'ngoe le e' ngoe ea li-URL, ka ho ts'oana. Kopo ho e 'ngoe le e' ngoe ea liaterese e ka phetoa - seo ho thoeng ke. "li-pulse". Mothating oa pele, re lekanya hore na ho nkile nako e kae ho theha khokahano le ho jarolla data. Mothating oa bobeli, re lekanya nako eo e e nkang ho kenya data holim'a khokahano e seng e thehiloe. Pele ho ea boraro, re ka beha tieho le ho lekanya lebelo la ho theha khokahanyo, joalo-joalo.

    Nakong ea tlhahlobo, re lekanya liparamente tsohle tseo sesebelisoa se ka li fumanang:

    • nako ea kopo ea DNS;
    • Nako ea ho seta ea TCP;
    • Nako ea ho seta ea TLS;
    • nako ea ho fumana li-byte tsa pele tsa data;
    • kakaretso ea nako ea ho kenya;
    • khoutu ea sephetho sa boemo.
  5. Kamora hore likhahla tsohle li phethe, sampole e jara litekanyo tsohle bakeng sa tlhahlobo.

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Lintlha tsa bohlokoa ke ho itšetleha ho fokolang ho logic ho moreki, ts'ebetso ea data ho seva le tekanyo ea likopo tse tšoanang. Kahoo, re khona ho khetholla le ho leka tšusumetso ea lintlha tse fapaneng tse amang ts'ebetso ea lipotso, ra li fapanyetsana ka har'a risepe e le 'ngoe, le ho fumana liphetho ho tsoa ho bareki ba nnete.

Sebopeho sena sa motheo se ipakile se le molemo ho feta tlhahlobo ea ts'ebetso ea lipotso feela. Hajoale re na le litlolo tse sebetsang tse 14, lisampole tse fetang 6000 motsotsoana, tse amohelang data ho tsoa likhutlong tsohle tsa lefats'e le ts'ebetso e felletseng ea lisebelisoa. Haeba Netflix e ne e reka tšebeletso e tšoanang ho motho oa boraro, e ne e tla bitsa limilione tsa lidolara ka selemo, ka tšireletso e mpe haholo.

Teko ea Teko ka ts'ebetsong: prototype

Ka sistimi e joalo, re khonne ho lekola katleho ea li-proxies tsa CDN ka nako ea kopo. Joale o hloka:

  • etsa setšoantšo sa proxy;
  • beha prototype ho CDN;
  • fumana mokhoa oa ho lebisa bareki ho proxy ho seva se itseng sa CDN;
  • Bapisa ts'ebetso le likopo tsa AWS ntle le moemeli.

Mosebetsi ke ho hlahloba katleho ea tharollo e hlahisitsoeng kapele kamoo ho ka khonehang. Re khethile Go ho kenya tšebetsong mohlala ka lebaka la boteng ba lilaebrari tse ntle tsa marang-rang. Ho seva se seng le se seng sa CDN, re kentse prototype proxy e le binary e tsitsitseng ho fokotsa ho itšetleha le ho nolofatsa kopanyo. Ts'ebetsong ea pele, re sebelisitse likarolo tse tloaelehileng ka hohle kamoo ho ka khonehang le liphetoho tse nyane bakeng sa khokahano ea khokahano ea HTTP/2 le ho kopa multiplexing.

Ho leka-lekanya lipakeng tsa libaka tsa AWS, re sebelisitse database ea libaka tsa DNS, e tšoanang e sebelisoang ho leka-lekanya bareki. Ho khetha seva sa CDN bakeng sa mofani, re sebelisa TCP Anycast bakeng sa li-server ho Internet Exchange (IX). Khethong ena, re sebelisa aterese e le 'ngoe ea IP bakeng sa li-server tsohle tsa CDN,' me mofani o tla lebisoa ho seva sa CDN ka palo e fokolang ea li-hops tsa IP. Ho li-server tsa CDN tse kentsoeng ke bafani ba Inthanete (ISPs), ha re na taolo holim'a router ho lokisa TCP Anycast, kahoo re sebelisa kelello e ts'oanang, e lebisang bareki ho bafani ba Inthanete bakeng sa ho phallela video.

Kahoo, re na le mefuta e meraro ea litsela tsa kopo: ho ea lerung ka Inthanete e bulehileng, ka seva sa CDN ho IX, kapa ka seva sa CDN se fumanehang ho mofani oa Inthanete. Sepheo sa rona ke ho utloisisa hore na ke tsela efe e molemo, le hore na molemo oa moemeli ke ofe, ha o bapisoa le hore na likōpo li romelloa joang tlhahisong. Ho etsa sena, re sebelisa sistimi ea sampole ka tsela e latelang:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

E 'ngoe le e' ngoe ea litsela e fetoha sepheo se arohaneng, 'me re sheba nako eo re e fumaneng. Bakeng sa tlhahlobo, re kopanya liphetho tsa moemeli ho sehlopha se le seng (khetha nako e ntle pakeng tsa IX le li-proxies tsa ISP), 'me re li bapise le nako ea likopo ho leru ntle le moemeli:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Joalokaha u ka bona, liphello li ne li tsoakane - maemong a mangata moemeli o fana ka lebelo le letle, empa ho boetse ho na le palo e lekaneng ea bareki bao boemo bo tla mpefala haholo.

Ka lebaka leo, re ile ra etsa lintho tse 'maloa tsa bohlokoa:

  1. Re hlahlobile ts'ebetso e lebelletsoeng ea likopo ho tsoa ho bareki ho ea ho leru ka proxy ea CDN.
  2. Re fumane data ho tsoa ho bareki ba 'nete, ho tsoa ho mefuta eohle ea lisebelisoa.
  3. Re ile ra hlokomela hore khopolo eo e ne e sa tiisetsoa ka 100% 'me tlhahiso ea pele e nang le moemeli oa CDN e ke ke ea sebetsa bakeng sa rona.
  4. Ha rea ​​ka ra ipeha kotsing - ha rea ​​fetola litlhophiso tsa tlhahiso bakeng sa bareki.
  5. Ha ho letho le robehileng.

Mohlala oa 2.0

Kahoo, khutlela ho boto ea ho taka 'me u phete mokhoa ona hape.

Maikutlo ke hore ho e-na le ho sebelisa proxy ea 100%, re tla tseba tsela e potlakileng ka ho fetisisa bakeng sa mofani e mong le e mong, 'me re tla romela likopo moo - ke hore, re tla etsa seo ho thoeng ke client steering.

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Joang ho kenya tshebetsong see? Ha re khone ho sebelisa logic ka lehlakoreng la seva, hobane ... Sepheo ke ho hokela ho seva sena. Ho hlokahala hore ho be le mokhoa oa ho etsa sena ho moreki. 'Me ka nepo, etsa sena ka bonyane ba logic e rarahaneng, e le hore u se ke ua rarolla taba ea ho kopanya le palo e kholo ea li-platform tsa bareki.

Karabo ke ho sebelisa DNS. Tabeng ea rona, re na le lisebelisoa tsa rona tsa DNS, 'me re ka theha sebaka sa marang-rang seo li-server tsa rona li tla ba matla ho tsona. E sebetsa tjena:

  1. Moreki o etsa kopo ho seva sa DNS a sebelisa moamoheli, mohlala api.netflix.xom.
  2. Kopo e fihla ho seva sa rona sa DNS
  3. Seva ea DNS e tseba hore na ke tsela efe e potlakileng ho moreki enoa mme e fana ka aterese ea IP e tsamaellanang.

Tharollo e na le ho rarahana ho eketsehileng: bafani ba DNS ba matla ha ba bone aterese ea IP ea moreki mme ba ka bala aterese ea IP feela ea recursive resolution eo moreki a e sebelisang.

Ka lebaka leo, mohatelli oa rona ea matla o tlameha ho etsa qeto eseng bakeng sa moreki a le mong, empa bakeng sa sehlopha sa bareki se ipapisitseng le tharollo e iphetang.

Ho rarolla, re sebelisa lisampole tse ts'oanang, re kopanya liphetho tsa litekanyo ho tsoa ho bareki ho e 'ngoe le e 'ngoe ea litharollo tse iphetang ebe re etsa qeto ea hore na re romela sehlopha sena sa bona hokae - moemeli ka IX o sebelisa TCP Anycast, ka moemeli oa ISP, kapa ka ho toba marung.

Re fumana tsamaiso e latelang:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Sephetho sa mohlala oa tsamaiso ea DNS se u lumella ho tsamaisa bareki ho latela litebello tsa nalane tsa lebelo la likhokahano ho tloha ho bareki ho ea ho leru.

Hape, potso ke hore na mokhoa ona o tla sebetsa hantle hakae? Ho araba, re boetse re sebelisa sistimi ea rona ea lipatlisiso. Ka hona, re lokisa tlhophiso ea moetsi, moo e 'ngoe ea lipheo e latelang tataiso e tsoang ho tsamaiso ea DNS, e' ngoe e ea ka ho toba lerung (tlhahiso ea hona joale).

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Ka lebaka leo, re bapisa liphetho mme re fumana tlhahlobo ea katleho:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Ka lebaka leo, re ithutile lintho tse ’maloa tsa bohlokoa:

  1. Re ile ra lekola ts'ebetso e lebelletsoeng ea likopo ho tsoa ho bareki ho ea ho leru re sebelisa DNS Steering.
  2. Re fumane data ho tsoa ho bareki ba 'nete, ho tsoa ho mefuta eohle ea lisebelisoa.
  3. Boleng ba mohopolo o sisintsweng bo pakilwe.
  4. Ha rea ​​ka ra ipeha kotsing - ha rea ​​fetola litlhophiso tsa tlhahiso bakeng sa bareki.
  5. Ha ho letho le robehileng.

Hona joale ka karolo e thata - re e qala ka tlhahiso

Karolo e bonolo e se e felile - ho na le mohlala o sebetsang. Hona joale karolo e thata e hlahisa tharollo bakeng sa sephethe-phethe sa Netflix, ho romela basebelisi ba limilione tse 150, lisebelisoa tse likete, makholo a microservices, le sehlahisoa se lulang se fetoha le lisebelisoa. Li-server tsa Netflix li fumana limilione tsa likopo motsotsoana, 'me ho bonolo ho senya ts'ebeletso ka ketso e sa tsotelleng. Ka nako e ts'oanang, re batla ho tsamaisa sephethephethe ka matla ka li-server tse likete tsa CDN ho Internet, moo ntho e fetohang le ho senya kamehla le ka nako e sa lokelang.

'Me ka sena sohle, sehlopha se na le baenjiniere ba 3 ba ikarabellang bakeng sa nts'etsopele, ho tsamaisoa le tšehetso e feletseng ea tsamaiso.

Ka hona, re tla tsoela pele ho bua ka ho robala ho phomola le ho phela hantle.

Joang ho ntšetsa pele nts'etsopele le ho se qete nako eohle ea hau ho tšehetso? Mokhoa oa rona o ipapisitse le melao-motheo e 3:

  1. Re fokotsa sekhahla se ka bang teng sa ho robeha (blast radius).
  2. Re itokisetsa lintho tse makatsang - re lebeletse hore ho na le ntho e tla robeha, ho sa tsotellehe liteko le phihlelo ea botho.
  3. Ho senyeha ha mohau - haeba ntho e sa sebetse hantle, e lokela ho lokisoa ka mokhoa o itekanetseng, le haeba e se ka tsela e sebetsang ka ho fetisisa.

Ho ile ha fumaneha hore molemong oa rona, ka mokhoa ona oa bothata, re ka fumana tharollo e bonolo le e sebetsang le ho nolofatsa ts'ehetso ea sistimi haholo. Re ile ra hlokomela hore re ka eketsa karolo e nyenyane ea khoutu ho mofani le ho shebella liphoso tsa kopo ea marang-rang tse bakoang ke mathata a ho hokahanya. Haeba ho na le liphoso tsa marang-rang, re khutlela morao ka ho toba lerung. Tharollo ena ha e hloke boiteko bo matla bakeng sa lihlopha tsa bareki, empa e fokotsa haholo kotsi ea ho senyeha ho sa lebelloang le lintho tse makatsang bakeng sa rona.

Ehlile, leha ho na le phoso, re ntse re latela taeo e hlakileng nakong ea nts'etsopele:

  1. Mohlala oa teko.
  2. Teko ea A/B kapa li-Canaries.
  3. Phatlalatso e tsoelang pele.

Ka lisampole, mokhoa ona o hlalositsoe - liphetoho li lekoa pele ho sebelisoa risepe e ikhethileng.

Bakeng sa tlhahlobo ea canary, re hloka ho fumana li-server tse bapisoang tseo re ka bapisang hore na sistimi e sebetsa joang pele le ka mor'a liphetoho. Ho etsa sena, ho tsoa libakeng tsa rona tse ngata tsa CDN, re khetha lipara tsa li-server tse amohelang sephethephethe se tšoanang:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Ebe re kenya mohaho ka liphetoho ho seva sa Canary. Ho lekola liphetho, re tsamaisa sistimi e bapisang metrics e ka bang 100-150 le sampole ea li-server tsa Taolo:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Haeba tlhahlobo ea Canary e atlehile, joale re e lokolla butle-butle, ka maqhubu. Ha re ntlafatse li-server sebakeng se seng le se seng ka nako e le 'ngoe - ho lahleheloa ke sebaka sohle ka lebaka la mathata ho na le tšusumetso e kholo ho ts'ebeletso ho basebelisi ho feta ho lahleheloa ke palo e tšoanang ea li-server libakeng tse fapaneng.

Ka kakaretso, katleho le polokeho ea mokhoa ona li itšetlehile ka bongata le boleng ba metrics e bokelitsoeng. Bakeng sa tsamaiso ea rona ea ho potlakisa lipotso, re bokella metrics ho tsoa likarolong tsohle tse ka khonehang:

  • ho tsoa ho bareki - palo ea linako le likopo, litefiso tsa ho khutlela morao;
  • proxy - lipalo-palo tsa palo le nako ea likopo;
  • DNS - nomoro le liphetho tsa likopo;
  • cloud Edge - nomoro le nako ea ho sebetsana le likopo ka leru.

Sena sohle se bokelloa ka phaephe e le 'ngoe,' me, ho latela litlhoko, re etsa qeto ea hore na re tla romela metrics efe ho li-analytics tsa nako ea sebele, le hore na ho Elasticsearch kapa Big Data bakeng sa tlhahlobo e qaqileng haholoanyane.

Re beha leihlo

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Tabeng ea rona, re etsa liphetoho tseleng ea bohlokoa ea likopo pakeng tsa mofani le seva. Ka nako e ts'oanang, palo ea likarolo tse fapaneng ho moreki, ho seva, le tseleng ea Marang-rang e kholo haholo. Liphetoho ho moreki le seva li etsahala khafetsa - nakong ea mosebetsi oa lihlopha tse ngata le liphetoho tsa tlhaho tikolohong ea tikoloho. Re bohareng - ha ho hlahlojoa mathata, ho na le monyetla o motle oa hore re kenye letsoho. Ka hona, re hloka ho utloisisa ka ho hlaka mokhoa oa ho hlalosa, ho bokella le ho sekaseka metrics ho arola mathata kapele.

Haele hantle, phihlello e felletseng ea mefuta eohle ea metrics le lifilthara ka nako ea nnete. Empa ho na le metrics e mengata, kahoo potso ea litšenyehelo e hlaha. Tabeng ea rona, re arola metrics le lisebelisoa tsa ntlafatso ka tsela e latelang:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Ho bona le ho lekola mathata re sebelisa sistimi ea rona ea nako ea nnete e bulehileng Atlas и Lumen - bakeng sa pono. E boloka metrics e kopantsoeng mohopolong, e ka tšeptjoa ebile e hokahana le sistimi ea tlhokomeliso. Bakeng sa ho tsebahatsa le ho hlahloba mafu, re na le monyetla oa ho fumana lintlha tse tsoang Elasticsearch le Kibana. Bakeng sa tlhahlobo ea lipalo le ho etsa mohlala, re sebelisa data e kholo le pono ho Tableau.

Ho bonahala eka mokhoa ona o thata haholo ho sebetsa. Leha ho le joalo, ka ho hlophisa metrics le lisebelisoa ka mokhoa o hlophisitsoeng, re ka sekaseka bothata kapele, ra tseba hore na bothata ke mofuta ofe, ebe re theosa ho latela metrics e felletseng. Ka kakaretso, re qeta metsotso e ka bang 1-2 ho tseba mohloli oa ho senyeha. Ka mor'a sena, re sebetsa le sehlopha se itseng ho hlahloba mafu - ho tloha metsotso e mashome ho ea ho lihora tse 'maloa.

Le haeba tlhahlobo e etsoa kapele, ha re batle hore sena se etsahale khafetsa. Ka nepo, re tla fumana tlhokomeliso ea bohlokoa feela ha ho e-na le tšusumetso e kholo tšebeletsong. Bakeng sa sistimi ea rona ea ho potlakisa lipotso, re na le litemoso tse 2 feela tse tla tsebisa:

  • Peresente ea Client Fallback - tlhahlobo ea boitšoaro ba bareki;
  • peresente Liphoso tsa Probe - data ea botsitso ea likarolo tsa marang-rang.

Litemoso tsena tsa bohlokoa li beha leihlo hore na sistimi e sebeletsa basebelisi ba bangata. Re sheba hore na ke bareki ba bakae ba sebelisitseng fallback haeba ba sa khone ho fumana potlakiso ea kopo. Re etsa kakaretso ea tlhokomeliso e ka tlase ho 1 ka beke, leha ho na le liphetoho tse ngata tse etsahalang tsamaisong. Ke hobane'ng ha see se lekane bakeng sa rona?

  1. Ho na le moreki oa morao-rao haeba moemeli oa rona a sa sebetse.
  2. Ho na le tsamaiso ea othomathike ea tsamaiso e arabelang mathata.

Lintlha tse ling mabapi le ho qetela. Sistimi ea rona ea liteko, le sistimi ea ho ikhethela tsela e nepahetseng ea likopo ho tsoa ho moreki ho ea ho leru, e re lumella ho sebetsana ka katleho le mathata a mang.

Ha re khutleleng ho meralo ea rona ea tlhophiso le mekhahlelo e 3 ea litsela. Ntle le ho kenya nako, re ka sheba 'nete ea ho fana ka eona. Haeba ho ne ho sa khonehe ho laela data, joale ka ho sheba liphetho ka litsela tse fapaneng re ka tseba hore na ke hokae le hore na ke eng e robehileng, le hore na re ka e lokisa ka tsela e iketsang ka ho fetola tsela ea kopo.

mehlala ena:

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Tshebetso ena e ka iketsetsa. E kenyelletse tsamaisong ea tsamaiso. Le ho e ruta ho arabela mathateng a tshebetso le ho tšepahala. Haeba ntho e qala ho robeha, itšoara haeba ho na le khetho e molemo. Ka nako e ts'oanang, karabelo ea hang-hang ha e bohlokoa, ka lebaka la ho khutlela morao ho bareki.

Kahoo, melao-motheo ea ts'ehetso ea tsamaiso e ka etsoa ka tsela e latelang:

  • ho fokotsa boima ba 'mele;
  • ho bokella metrics;
  • Re itokisa ho lokisa likheo haeba re khona;
  • haeba e sa khone, rea u tsebisa;
  • Re sebetsa ka li-dashboards le lisebelisoa tsa triage bakeng sa karabo e potlakileng.

Lithuto Tse Ithutiloeng

Ha ho nke nako e ngata ho ngola prototype. Tabeng ea rona, e ne e loketse ka mor'a likhoeli tse 4. Ka eona re ile ra fumana metrics e ncha, 'me likhoeli tse 10 ka mor'a ho qaleha ha tsoelo-pele re ile ra fumana sephethephethe sa pele sa tlhahiso. Joale mosebetsi o khathatsang le o boima haholo o ile oa qala: butle-butle hlahisa le ho lekanya tsamaiso, falla sephethephethe se seholo 'me u ithute liphosong. Leha ho le joalo, ts'ebetso ena e sebetsang e ke ke ea lekana - ho sa tsotellehe boiteko bohle, ntho e 'ngoe le e' ngoe e ke ke ea boleloa esale pele. Ho sebetsa hantle haholo ho pheta-pheta le ho arabela data e ncha.

Potlakisa likopo tsa inthanete 'me u robale ka khotso

Ho latela boiphihlelo ba rona, re ka khothaletsa tse latelang:

  1. Se ke oa tšepa intuition ea hau.

    Maikutlo a rona a ile a re hloleha khafetsa, leha re na le boiphihlelo bo bongata ba litho tsa sehlopha sa rona. Mohlala, ka phoso re ile ra bolela esale pele lebelo le lebelletsoeng ho tsoa ho proxy ea CDN, kapa boitšoaro ba TCP Anycast.

  2. Fumana lintlha ho tsoa tlhahiso.

    Ho bohlokoa ho fihlella bonyane palo e nyane ea data ea tlhahiso kapele kamoo ho ka khonehang. Ho batla ho sa khonehe ho fumana palo ea linyeoe tse ikhethang, litlhophiso le litlhophiso maemong a laboratori. Ho fihlella ka potlako ho liphetho ho tla u lumella hore u ithute ka potlako ka mathata a ka 'nang a e-ba teng' me u a nahanele mohahong oa tsamaiso.

  3. Se ke oa latela likeletso le liphetho tsa batho ba bang - bokella lintlha tsa hau.

    Latela melao-motheo ea ho bokella le ho sekaseka lintlha, empa u se ke ua amohela liphetho le lipolelo tsa batho ba bang ka bofofu. Ke uena feela ea ka tsebang hantle se sebetsang ho basebelisi ba hau. Litsamaiso tsa hau le bareki ba hau li ka fapana haholo le lik'hamphani tse ling. Ka lehlohonolo, lisebelisoa tsa tlhahlobo li se li fumaneha ebile ho bonolo ho li sebelisa. Liphetho tseo u li fumanang e kanna ea se be seo Netflix, Facebook, Akamai le lik'hamphani tse ling li se bolelang. Tabeng ea rona, ts'ebetso ea TLS, HTTP2 kapa lipalo-palo mabapi le likopo tsa DNS li fapane le liphetho tsa Facebook, Uber, Akamai - hobane re na le lisebelisoa tse fapaneng, bareki le phallo ea data.

  4. U se ke ua latela mekhoa ea feshene ho sa hlokahale 'me u hlahlobe katleho.

    Qala bonolo. Ho molemo ho etsa sistimi e bonolo ea ho sebetsa ka nako e khuts'oane ho e-na le ho qeta nako e ngata u etsa likarolo tseo u sa li hlokeng. Rarolla mesebetsi le mathata a bohlokoa ho latela litekanyo tsa hau le liphetho.

  5. Itokisetse lits'ebetso tse ncha.

    Feela joalokaha ho le thata ho bolela esale pele mathata ohle, ho thata ho bolela esale pele melemo le likopo esale pele. Ela hloko ho tloha ho ba qalang - bokhoni ba bona ba ho ikamahanya le maemo a bareki. Tabeng ea hau, u ka fumana mathata a macha le tharollo ea bona. Morerong oa rona, re ipehetse pakane ea ho fokotsa latency ea kopo. Leha ho le joalo, nakong ea tlhahlobo le lipuisano, re hlokometse hore re ka sebelisa li-server tsa proxy:

    • ho leka-lekanya sephethephethe ho pholletsa le libaka tsa AWS le ho fokotsa litšenyehelo;
    • ho etsa mohlala oa botsitso ba CDN;
    • ho lokisa DNS;
    • ho lokisa TLS/TCP.

fihlela qeto e

Tlalehong, ke hlalositse kamoo Netflix e rarollang bothata ba ho potlakisa likopo tsa Inthanete pakeng tsa bareki le leru. Re bokella lintlha joang ka mokhoa oa ho etsa lisampole ho bareki, le ho sebelisa lintlha tse bokelletsoeng tsa nalane ho tsamaisa likopo tsa tlhahiso ho tsoa ho bareki ka tsela e potlakileng haholo Marang-rang. Kamoo re sebelisang melao-motheo ea li-protocol tsa marang-rang, lisebelisoa tsa rona tsa CDN, marang-rang a mokokotlo, le li-server tsa DNS ho finyella mosebetsi ona.

Leha ho le joalo, tharollo ea rona ke mohlala feela oa kamoo rona ho Netflix re sebelisitseng sistimi e joalo. Se ileng sa re sebeletsa. Karolo e sebelisitsoeng ea tlaleho ea ka bakeng sa hau ke melao-motheo ea nts'etsopele le tšehetso eo re e latelang le ho finyella liphello tse ntle.

Tharollo ea rona bothateng e kanna ea se lumellane le uena. Leha ho le joalo, khopolo le melao-motheo ea moralo e ntse e le teng, le haeba u se na lisebelisoa tsa hau tsa CDN, kapa haeba e fapane haholo le ea rona.

Bohlokoa ba lebelo la likopo tsa khoebo le bona bo ntse bo le bohlokoa. 'Me esita le bakeng sa tšebeletso e bonolo u hloka ho etsa khetho: pakeng tsa bafani ba maru, sebaka sa seva, bafani ba CDN le DNS. Khetho ea hau e tla susumetsa katleho ea lipotso tsa Marang-rang bakeng sa bareki ba hau. 'Me ho bohlokoa hore u lekanye le ho utloisisa tšusumetso ena.

Qala ka tharollo e bonolo, hlokomela hore na u fetola sehlahisoa joang. Ithute ha u ntse u tsamaea 'me u ntlafatse sistimi e ipapisitseng le lintlha tse tsoang ho bareki ba hau, lisebelisoa tsa hau tsa motheo le khoebo ea hau. Nahana ka monyetla oa ho senyeha ho sa lebelloang nakong ea moralo. 'Me joale o ka potlakisa ts'ebetso ea hau ea nts'etsopele, ho ntlafatsa katleho ea tharollo, ho qoba moroalo o sa hlokahaleng oa tšehetso le ho robala ka khotso.

Selemong sena kopano e tla tšoaroa ho tloha ka la 6 ho isa ho la 10 Phupu ka mokhoa oa inthaneteng. U ka botsa e mong oa bo-ntate ba DevOps lipotso, John Willis ka boeena!

Source: www.habr.com

Eketsa ka tlhaloso