[U se ke ua] sebelisa CDN

Hoo e ka bang sengoloa se seng le se seng kapa sesebelisoa sa ho ntlafatsa lebelo la sebaka sa marang-rang se na le poleloana e itekanetseng "sebelisa CDN." Ka kakaretso, CDN ke marang-rang a phano ea litaba kapa marang-rang a phano ea litaba. Rona ho Method Lab hangata re kopana le lipotso tse tsoang ho bareki ka taba ena; tse ling tsa tsona li nolofalletsa CDN ea bona. Sepheo sa sehlooho sena ke ho utloisisa hore na CDN e ka fana ka eng mabapi le lebelo la ho kenya sebaka sa marang-rang, ke mathata afe a ka 'nang a hlaha,' me maemong afe ho sebelisoa CDN ho nepahetse.

[U se ke ua] sebelisa CDN

Ho lieha ho pota-potiloe setšoantšong ho bakoa ke tšebeliso ea CDN.

Pale ea histori

Joalo ka mahlale a mangata, li-CDN li ile tsa hlaha ka lebaka la tlhokahalo. Ka nts'etsopele ea liteishene tsa Marang-rang har'a basebelisi ba Marang-rang, ho ile ha hlaha lits'ebeletso tsa video tsa inthaneteng. Ka tlhaho, litaba tsa video li hloka litaelo tsa boholo ba bandwidth ha li bapisoa le litaba tse tloaelehileng tsa webosaete (litšoantšo, mongolo, le khoutu ea CSS kapa JS).

Ha u leka ho hasanya video ka mokhoa o ts'oanang le bareki ba bangata ho tsoa ho seva se le seng, mocha oa Inthanete oa seva o tla fetoha bothata. E le molao, likhoele tse likete tse 'maloa li lekane ho koala mocha o tloaelehileng oa seva. Ha e le hantle, ho ka 'na ha e-ba le likhaello tse ling tsa lisebelisoa, empa ha li bohlokoa hona joale. Hape ke habohlokoa hore ho atolosa mocha oa seva ho theko e boima haholo ('me ka linako tse ling ha ho khonehe), hape ha ho khonehe. Mojaro oa kanale nakong ea khaso o tla ba oa potoloho.

Bothata ba ho fokotsa mocha oa seva ka bomong bo rarolloa ka ho phethahetseng ke CDN. Bareki ha ba hokahane le seva ka kotloloho, empa ho li-node tsa marang-rang a CDN. Boemong bo botle, seva se romela molapo o le mong ho node ea CDN, ebe marang-rang a sebelisa lisebelisoa tsa eona ho fana ka molapo ona ho basebelisi ba bangata. Ho ea ka pono ea moruo, re lefa feela lisebelisoa tse sebelisitsoeng (sena e ka ba bandwidth kapa sephethephethe) mme re fumana scalability e babatsehang ea tšebeletso ea rona. Ho sebelisa CDN ho fana ka litaba tse boima ho nepahetse ka ho feletseng ebile hoa utloahala. Le hoja ho le bohlokoa ho hlokomela hore libapali tse kholo ka ho fetisisa sebakeng sena (mohlala, Netflix) li iketsetsa li-CDN tsa tsona ho e-na le ho sebelisa li-CDN tse kholo tsa khoebo (Akamai, Cloudflare, Fastly, joalo-joalo).

Ha websaete e ntse e tsoela pele, lisebelisoa tsa marang-rang ka botsona li fetohile tse rarahaneng le tse rarahaneng. Bothata ba ho potlakisa lebelo bo ile ba hlaha. Batho ba chesehelang lebelo la Marang-rang ba ile ba lemoha ka potlako mathata a 'maloa a maholo a entseng hore liwebsaete li kene butle. E 'ngoe ea tsona e ne e le ho lieha ha marang-rang (RTT - nako ea ho khutla kapa nako ea ping). Ho lieha ho ama mekhoa e mengata ea ho kenya marang-rang: ho theha khokahanyo ea TCP, ho qala lenaneo la TLS, ho kenya mohloli o mong le o mong (setšoantšo, faele ea JS, tokomane ea HTML, joalo-joalo)

Bothata bo ile ba mpefatsoa ke taba ea hore ha u sebelisa protocol ea HTTP/1.1 (pele ho fihla SPDY, QUIC le HTTP/2 ena e ne e le eona feela khetho), li-browser li bula lihokelo tse fetang 6 tsa TCP ho moamoheli a le mong. Sena sohle se lebisitse ho theohe nako ea khokahano le tšebeliso e sa sebetseng ea bandwidth ea mocha. Bothata bo ile ba rarolloa ka mokhoa o itseng ka domain sharding - ho theha mabotho a eketsehileng ho hlola moeli oa palo ea likhokahano.

Mona ke moo bokhoni ba bobeli ba CDN bo hlahang - ho fokotsa latency (RTT) ka lebaka la palo e kholo ea lintlha le ho ba haufi le li-node ho mosebedisi. Sebaka se phetha karolo ea bohlokoa mona: lebelo la leseli le lekanyelitsoe (hoo e ka bang 200 km / sec ho fiber optical). Sena se bolela hore leeto le leng le le leng la lik'hilomithara tse 000 le eketsa 1000 ms ea ho lieha kapa 5 ms ho RTT. Ena ke nako e fokolang e hlokahalang bakeng sa phetisetso, kaha ho boetse ho na le tieho ho lisebelisoa tse bohareng. Kaha hangata CDN e tseba ho boloka lintho ho li-server tsa eona, re ka rua molemo ka ho kenya lintho tse joalo ka CDN. Maemo a hlokahalang bakeng sa sena: boteng ba ntho e ka har'a cache, sebaka se haufi sa CDN se lebisa ho mosebedisi ha se bapisoa le seva sa kopo ea websaete (seva sa tšimoloho). Ke habohlokoa ho utloisisa hore sebaka se haufi sa node ea CDN ha se tiise hore ho na le latency e tlaase. Tsela pakeng tsa moreki le CDN e ka hahuoa ka tsela eo moreki a tla ikopanya le moamoheli naheng e 'ngoe, mohlomong le k'honthinenteng e' ngoe. Mona ke moo kamano pakeng tsa basebetsi ba telecom le tšebeletso ea CDN (ho sheba, ho hokahanya, ho kenya letsoho ho IX, joalo-joalo) le leano la ho tsamaisa sephethephethe la CDN ka boeona. Ka mohlala, Cloudflare, ha u sebelisa merero e 'meli ea pele (mahala le e theko e tlaase), ha e tiise ho fana ka litaba tse tsoang ho moeti ea haufi - moeti o tla khethoa ho finyella litšenyehelo tse fokolang.

Lik'hamphani tse ngata tse etellang pele tsa Marang-rang li hohela thahasello ea sechaba (baetsi ba marang-rang le beng ba lits'ebeletso) sehloohong sa ho jarolla lebelo le ts'ebetso ea webosaete. Har'a lik'hamphani tsena ke Yahoo (Yslow tool), AOL (WebPageTest) le Google (Page Speed ​​​​Insights service), tse ntseng li iketsetsa likhothaletso tsa ho potlakisa libaka (haholo-holo li amana le ntlafatso ea bareki). Hamorao, lisebelisoa tse ncha tsa tlhahlobo ea lebelo la marang-rang lia hlaha, tse fanang ka malebela mabapi le ho eketsa lebelo la webosaete. E 'ngoe le e 'ngoe ea litšebeletso tsena kapa li-plugins e na le khothaletso e tsitsitseng: "Sebelisa CDN." Ho fokotseha ha latency ea marang-rang hangata ho boleloa e le tlhaloso ea phello ea CDN. Ka bomalimabe, hase bohle ba itokiselitseng ho utloisisa hantle hore na phello ea ho potlakisa CDN e finyelloa joang le hore na e ka lekanyetsoa joang, kahoo khothatso e nkoa ka tumelo 'me e sebelisoa e le poso. Ebile, ha se li-CDN tsohle tse entsoeng li lekana.

Ho sebelisa CDN Kajeno

Ho lekola molemo oa ho sebelisa li-CDN, li hloka ho aroloa. Ke eng e ka fumanoang hona joale ts'ebetsong (mehlala e ka har'a masakaneng, ehlile, ha e felle):

  1. CDN ea mahala bakeng sa ho aba lilaebrari tsa JS (MaxCDN, Google. Yandex).
  2. CDN ea lits'ebeletso bakeng sa ntlafatso ea bareki (mohlala, Google Fonts bakeng sa fonte, Cloudinary, Cloudimage bakeng sa litšoantšo).
  3. CDN bakeng sa static le optimization ea lisebelisoa ho CMS (e fumanehang ho Bitrix, WordPress le tse ling).
  4. Sepheo se akaretsang sa CDN (StackPath, CDNVideo, NGENIX, Megafon).
  5. CDN bakeng sa ho potlakisa sebaka sa marang-rang (Cloudflare, Imperva, Airi).

Phapang e ka sehloohong pakeng tsa mefuta ena ke hore na sephethephethe se ngata hakae ho feta CDN. Mefuta ea 1-3 ke ho fana ka karolo feela ea litaba: ho tloha kopo e le 'ngoe ho isa ho tse' maloa (hangata litšoantšo). Mefuta ea 4 le ea 5 ke proxy e felletseng ea sephethephethe ka CDN.

Ha e le hantle, sena se bolela palo ea likhokahano tse sebelisoang ho kenya sebaka sa marang-rang. Ka HTTP/2, re sebelisa khokahano e le 'ngoe ea TCP ho moamoheli ho sebetsana le palo efe kapa efe ea likopo. Haeba re arola lisebelisoa ho moamoheli ea ka sehloohong (tšimoloho) le CDN, joale hoa hlokahala ho aba likopo libakeng tse 'maloa le ho theha likhokahano tse' maloa tsa TCP. Boemo bo bobe ka ho fetisisa ke: DNS (1 RTT) + TCP (1 RTT) + TLS (2-3 RTT) = 6-7 RTT. Foromo ena ha e nahane ka tieho ea marang-rang a marang-rang bakeng sa ho kenya mocha oa seea-le-moea oa sesebelisoa (haeba o ne o sa sebetse) le tieho ho tora ea lisele.

Mona ke kamoo e shebahalang kateng ha setšeng sa metsi se kenya metsi (latencies bakeng sa ho hokela CDN e totobalitsoe ho RTT 150 ms):

[U se ke ua] sebelisa CDN

Haeba CDN e koahela sephethephethe sa sebaka sa marang-rang (ntle le lits'ebeletso tsa mokha oa boraro), joale re ka sebelisa khokahano e le 'ngoe ea TCP, ho boloka tieho ho hokela ho baamoheli ba eketsehileng. Ehlile, sena se sebetsa ho likhokahano tsa HTTP/2.

Liphapang tse ling li khethoa ke ts'ebetso ea CDN e itseng - bakeng sa mofuta oa pele ke feela ho tšoara faele e tsitsitseng, ea bohlano e fetola mefuta e mengata ea litaba tsa sebaka ka morero oa ho ntlafatsa.

Bokhoni ba CDN bakeng sa ho potlakisa sebaka sa marang-rang

Ha re hlalose boholo bo felletseng ba bokhoni ba CDN bakeng sa ho potlakisa libaka, ntle le ts'ebetso ea mefuta ea CDN ka bomong, ebe re bona se kengoang ho e 'ngoe le e' ngoe ea tsona.

1. Khatello ea lisebelisoa tsa mongolo

Ka ho fetisisa tsa motheo le ho utloisisa tšobotsi, leha ho le joalo hangata hampe kenngwa tshebetsong. Li-CDN tsohle li phatlalatsa boteng ba khatello e le tšobotsi ea bona ea ho potlakisa. Empa ha u sheba ka ho qaqileng haholoanyane, mefokolo e tla hlaka:

  • likhato tse tlase bakeng sa khatello e matla li ka sebelisoa - 5-6 (mohlala, bakeng sa gzip boholo ke 9);
  • static compression (lifaele tse cache) ha e sebelise likarolo tse ling (mohlala, zopfi kapa brotli ka degree 11)
  • ha ho na tšehetso bakeng sa compression e sebetsang ea brotli (e boloka hoo e ka bang 20% ​​ha e bapisoa le gzip).

Haeba u sebelisa CDN, ho bohlokoa ho hlahloba lintlha tsena tse seng kae: nka faele e tsoang ho CDN, rekota boholo ba eona bo hatelitsoeng 'me u e hatelle ka letsoho bakeng sa ho bapisa (o ka sebelisa tšebeletso ea inthaneteng ka tšehetso ea brotli, mohlala. vsszhat.rf).

2. Ho beha lihlooho tsa caching tsa bareki

Hape ke karolo e bonolo ea ho potlakisa: eketsa lihlooho bakeng sa caching ea litaba ke moreki (sebatli). Sehlooho sa hajoale ke cache-control, se siiloeng ke nako se felile. Ho feta moo, Etag e ka sebelisoa. Ntho e ka sehloohong ke hore boholo ba lilemo tsa taolo ea cache bo boholo ka ho lekaneng (ho tloha khoeling kapa ho feta) Haeba u se u itokiselitse ho boloka mohloli ka thata ka hohle kamoo ho ka khonehang, o ka eketsa khetho e ke keng ea fetoha.

Li-CDN li ka theola boleng ba lilemo tse kholo, tsa qobella mosebelisi ho kenya litaba tse sa fetoheng khafetsa. Ha ho hlake hore na sena se amana le eng: takatso ea ho eketsa sephethephethe ho marang-rang kapa ho eketsa ho lumellana le libaka tse sa tsebeng ho tsosolosa cache. Mohlala, nako ea kamehla ea cache ea hlooho ea Cloudflare ke hora e le 1, e tlase haholo bakeng sa data e sa fetoheng.

3. Ntlafatso ea setšoantšo

Kaha CDN e nka mesebetsi ea caching le ho sebeletsa litšoantšo, e ka ba ho utloahalang ho li ntlafatsa ka lehlakoreng la CDN le ho li sebeletsa ho basebelisi ka foromo ena. Ha re etseng pehelo hang-hang hore tšobotsi ena e fumaneha feela bakeng sa mefuta ea CDN ea 2, 3 le 5.

U ka ntlafatsa litšoantšo ka mekhoa e fapaneng: ka ho sebelisa lifomate tse tsoetseng pele tsa compression (joalo ka WebP), li-encoder tse sebetsang hantle (MozJPEG), kapa feela ho hloekisa metadata e sa hlokahaleng.

Ka kakaretso, ho na le mefuta e 'meli ea lintlafatso tse joalo: ka tahlehelo ea boleng le ntle le tahlehelo ea boleng. Hangata li-CDN li ikitlaelletsa ho sebelisa ts'ebeliso e sa lahleheng e le ho qoba litletlebo tse ka bang teng tsa bareki mabapi le liphetoho tsa boleng ba setšoantšo. Maemong a joalo, phaello e tla ba e fokolang. Ha e le hantle, hangata boemo ba boleng ba JPEG bo phahame haholo ho feta kamoo ho hlokahalang 'me u ka khona ho tsosolosa ka mokhoa o sireletsehileng ka boemo bo tlaase ba boleng ntle le ho senya phihlelo ea mosebedisi. Ka lehlakoreng le leng, ho thata ho tseba boemo ba boleng le maemo a lefats'e bakeng sa lits'ebetso tsohle tse ka khonehang tsa webo, kahoo li-CDN li sebelisa litlhophiso tse hlokolosi ha li bapisoa le tse ka sebelisoang ho ela hloko moelelo oa taba (morero oa litšoantšo, mofuta oa ts'ebeliso ea webo. , joalo-joalo)

4. Ho ntlafatsa khokahano ea TLS

Boholo ba sephethephethe kajeno se tsamaea ka likhokahano tsa TLS, ho bolelang hore re qeta nako e eketsehileng lipuisanong tsa TLS. Haufinyane tjena, ho entsoe theknoloji e ncha ho potlakisa ts'ebetso ena. Ka mohlala, sena ke EC cryptography, TLS 1.3, cache ea session le litekete, hardware encryption acceleration (AES-NI), joalo-joalo. Ho beha ka nepo TLS ho ka fokotsa nako ea ho hokahanya ho 0-1 RTT (ho sa bale DNS le TCP ).

Ka software ea morao-rao, ha ho thata ho kenya ts'ebetsong mekhoa e joalo u le mong.

Ha se li-CDN tsohle tse sebelisang mekhoa e metle ea TLS; o ka hlahloba sena ka ho lekanya nako ea khokahano ea TLS (mohlala, ho Webpagetest). E loketse bakeng sa khokahano e ncha - 1RTT, 2RTT - boemo bo tloaelehileng, 3RTT le ho feta - e mpe.

Hape hoa lokela ho hlokomeloa hore esita le ha u sebelisa TLS boemong ba CDN, seva se nang le kopo ea rona ea marang-rang e tlameha ho sebetsa le TLS, empa ho tloha ka lehlakoreng la CDN, hobane sephethephethe pakeng tsa seva le CDN se feta marang-rang a sechaba. Boemong bo bobe ka ho fetesisa, re tla fumana litiehiso tse peli tsa khokahano ea TLS (ea pele ho moamoheli oa CDN, ea bobeli lipakeng tsa eona le seva sa rona).

Bakeng sa lits'ebetso tse ling, ho bohlokoa ho ela hloko litaba tsa ts'ireletso: hangata sephethephethe se hlakoloa ka li-node tsa CDN, 'me ona ke monyetla o ka bang teng oa ho thibela sephethephethe. Khetho ea ho sebetsa ntle le phatlalatso ea sephethephethe hangata e fanoa ka merero e holimo ea litefiso bakeng sa tefo e eketsehileng.

5. Fokotsa tieho ea khokahano

Molemo o ka sehloohong oa CDN oo bohle ba buang ka oona: latency e tlaase (bohole bo fokolang) pakeng tsa moeti oa CDN le mosebedisi. E fihletsoe ka ho theha meralo ea marang-rang e ajoang sebakeng, moo mabotho a leng teng libakeng tse ngata tsa basebelisi (litoropo, libaka tsa phapanyetsano ea sephethephethe, jj.)

Ha e le hantle, lintho tse tlang pele bakeng sa marang-rang a fapaneng li ka ba libakeng tse itseng. Ka mohlala, li-CDN tsa Russia li tla ba le lintlha tse ngata tsa ho ba teng Russia. Ba Amerika ba tla qala ka ho ntshetsa pele marang-rang USA. Ka mohlala, e 'ngoe ea CDN Cloudflare e kholo ka ho fetisisa e na le lintlha tse 2 feela Russia - Moscow le St. Petersburg. Ke hore, re ka boloka boholo ba hoo e ka bang 10 ms ea latency ha e bapisoa le ho behoa ka ho toba Moscow.

Li-CDN tse ngata tsa Bophirimela ha li na lintlha ho hang Russia. Ka ho ikopanya le bona, o ka eketsa tieho ho bamameli ba hau ba Serussia.

6. Ntlafatso ea litaba (minification, liphetoho tsa sebopeho)

Ntlha e rarahaneng ka ho fetisisa le e tsoetseng pele ea theknoloji. Ho fetola litaba nakong ea ho pepa ho ka ba kotsi haholo. Esita le haeba re nka minification: ho fokotsa khoutu ea mohloli (ka lebaka la libaka tse eketsehileng, mehaho e sa hlokahaleng, joalo-joalo) e ka ama ts'ebetso ea eona. Haeba re bua ka liphetoho tse tebileng haholoanyane - ho tsamaisa khoutu ea JS ho ea qetellong ea HTML, ho kopanya lifaele, joalo-joalo - kotsi ea ho senya ts'ebetso ea sebaka sa marang-rang e phahame le ho feta.

Ka hona, ke li-CDN tsa mofuta oa 5 feela tse etsang sena. Ehlile, ho ke ke ha khonahala ho etsa liphetoho tsohle tse hlokahalang ho potlakisa lintho - ho hlokahala tlhahlobo ea matsoho le ntlafatso. Mohlala, ho tlosa khoutu e sa sebelisoeng kapa e kopitsoang ke mosebetsi oa matsoho.

E le molao, lintlafatso tsohle tse joalo li laoloa ke litlhophiso mme tse kotsi ka ho fetisisa li holofalitsoe ka ho sa feleng.

Ts'ehetso bakeng sa bokhoni ba ho potlakisa ka mofuta oa CDN

Kahoo ha re shebeng hore na ke menyetla efe ea ho potlakisa mefuta e fapaneng ea li-CDN e fanang ka eona.

Bakeng sa boiketlo, re pheta lihlopha.

  1. CDN ea mahala bakeng sa ho aba lilaebrari tsa JS (MaxCDN, Google. Yandex).
  2. CDN ea lits'ebeletso bakeng sa ntlafatso ea bareki (mohlala, Google Fonts bakeng sa fonte, Cloudinary, Cloudimage bakeng sa litšoantšo).
  3. CDN bakeng sa static le optimization ea lisebelisoa ho CMS (e fumanehang ho Bitrix, WordPress le tse ling).
  4. Sepheo se akaretsang sa CDN (StackPath, CDNVideo, NGENIX, Megafon).
  5. CDN bakeng sa ho potlakisa sebaka sa marang-rang (Cloudflare, Imperva, Airi).

Joale a re bapiseng likarolo le mefuta ea CDN.

Monyetla
Mofuta oa 1
Mofuta oa 2
Mofuta oa 3
Mofuta oa 4
Mofuta oa 5

Khatello ea mongolo
+–
-
+–
+–
+

Lihlooho tsa cache
+
+
+
+
+

Litšoantšo
-
+–
+–
-
+

TLS
-
-
-
+–
+

tieho
-
-
-
+
+

Tse ka Hare
-
-
-
-
+

Tafoleng ena, “+” e sebelisoa ho bontša tšehetso e felletseng, “–” ha e tšehetse, ’me “+–” ke tšehetso e sa fellang. Ha e le hantle, ho ka 'na ha e-ba le ho kheloha ho tloha tafoleng ena ha e le hantle (mohlala, CDN e nang le morero ka kakaretso e tla kenya ts'ebetsong likarolo tsa ho ntlafatsa litšoantšo), empa bakeng sa khopolo e akaretsang e molemo.

Liphello

Ka tšepo, ka mor'a ho bala sehlooho sena u tla ba le setšoantšo se hlakileng haholoanyane mabapi le tlhahiso ea "sebelisa CDN" ho potlakisa libaka tsa hau.

Joalo ka khoebong efe kapa efe, u ke ke ua lumela litšepiso tsa ho bapatsa tsa ts'ebeletso efe kapa efe. Phello e hloka ho lekanyetsoa le ho lekoa tlas'a maemo a sebele. Haeba u se u ntse u sebelisa CDN, e hlahlobe bakeng sa katleho u sebelisa mekhoa e hlalositsoeng sehloohong.

Ho ka etsahala hore ho sebelisa CDN hona joale ho fokotsa nako ea ho kenya sebaka sa hau sa marang-rang.

E le khothaletso e akaretsang, re ka tsepamisa maikutlo ho tse latelang: ithute bamameli ba hau, tseba hore na sebaka sa bona ke sefe. Haeba bamameli ba hau ba ka sehloohong ba tsepamisitsoe ka hare ho sebaka sa lik'hilomithara tse likete tse 1-2, ha u hloke CDN bakeng sa morero oa eona o ka sehloohong - ho fokotsa latency. Sebakeng seo, o ka beha seva ea hau haufi le basebelisi ba hau mme oa e hlophisa hantle, o fumana boholo ba lintlafatso tse hlalositsoeng sehloohong (mahala le ka ho sa feleng).

Haeba bamameli ba hau ba hlile ba ajoa ka libaka (radius ea lik'hilomithara tse fetang 3000), ho sebelisa CDN ea boleng e tla ba molemo haholo. Leha ho le joalo, o hloka ho utloisisa esale pele hore na CDN ea hau e ka potlakisa eng (sheba tafole ea bokhoni le tlhaloso ea bona). Leha ho le joalo, ho potlakisa sebaka sa marang-rang e ntse e le mosebetsi o rarahaneng o ke keng oa rarolloa ka ho hokahanya CDN. Ntle le lintlafatso tse kaholimo, mekhoa e sebetsang ka ho fetesisa ea ho potlakisa e sala ka morao ho CDN: ho ntlafatsa karolo ea seva, liphetoho tse tsoetseng pele ho karolo ea bareki (ho tlosa khoutu e sa sebelisoeng, ho ntlafatsa mokhoa oa ho fana, ho sebetsa ka litaba, lifonti, ho ikamahanya le maemo, joalo-joalo. )

Source: www.habr.com

Eketsa ka tlhaloso