[Kada] yi amfani da CDN

Kusan kowane labarin ko kayan aiki don haɓaka saurin rukunin yanar gizon yana da madaidaicin jumla "amfani da CDN." Gabaɗaya, CDN cibiyar sadarwa ce ta isar da abun ciki ko hanyar sadarwar abun ciki. Mu a Hanyar Lab sau da yawa muna saduwa da tambayoyi daga abokan ciniki akan wannan batu; wasu daga cikinsu suna kunna CDN nasu. Manufar wannan labarin ita ce fahimtar abin da CDN zai iya bayarwa dangane da saurin lodawa daga yanar gizo, matsalolin da za su iya tasowa, kuma a cikin waɗanne lokuta amfani da CDN ya dace.

[Kada] yi amfani da CDN

Jinkirin da aka kewaya a hoton yana haifar da amfani da CDN.

A bit of history

Kamar fasaha da yawa, CDNs sun fito daga larura. Tare da haɓaka tashoshin Intanet tsakanin masu amfani da Intanet, ayyukan bidiyo na kan layi sun bayyana. A zahiri, abun ciki na bidiyo yana buƙatar umarni na girman bandwidth idan aka kwatanta da abun cikin gidan yanar gizo na yau da kullun (hotuna, rubutu, da CSS ko lambar JS).

Lokacin ƙoƙarin watsa rafi na bidiyo a layi daya da abokan ciniki da yawa daga sabar guda ɗaya, tashar Intanet na uwar garken zai iya zama ƙalubale. A matsayinka na mai mulki, 'yan dubun zaren sun isa su toshe tashar tashar uwar garke. Tabbas, ana iya samun wasu iyakokin albarkatun, amma ba su da mahimmanci a yanzu. Har ila yau, yana da mahimmanci cewa fadada tashar uwar garke yana da tsada sosai (kuma wani lokacin ba zai yiwu ba), kuma ba zai yiwu ba. Nauyin da ke kan tashar a lokacin watsa shirye-shirye zai zama cyclical.

Matsalar iyakance tashar uwar garken mutum ɗaya an warware shi daidai ta CDN. Abokan ciniki ba sa haɗi zuwa uwar garken kai tsaye, amma zuwa nodes a cikin hanyar sadarwar CDN. A cikin yanayin da ya dace, uwar garken yana aika rafi ɗaya zuwa kullin CDN, sa'an nan kuma hanyar sadarwar ta yi amfani da albarkatunta don isar da wannan rafi ga masu amfani da yawa. Daga ra'ayi na tattalin arziki, muna biya kawai don albarkatun da ake cinyewa (wannan na iya zama bandwidth ko zirga-zirga) kuma muna samun ingantaccen scalability na sabis ɗinmu. Yin amfani da CDN don sadar da abun ciki mai nauyi cikakke cikakke ne kuma ma'ana. Ko da yake yana da kyau a lura cewa manyan 'yan wasa a wannan sararin samaniya (misali Netflix) suna gina CDN na kansu maimakon yin amfani da manyan CDN na kasuwanci (Akamai, Cloudflare, Fastly, da dai sauransu).

Kamar yadda yanar gizo ta samo asali, aikace-aikacen yanar gizon da kansu sun zama masu rikitarwa da rikitarwa. Matsalar saurin lodawa ta zo kan gaba. Masu sha'awar saurin gidan yanar gizo cikin sauri sun gano manyan matsaloli da yawa waɗanda suka sa gidajen yanar gizon suyi lodi a hankali. Ɗayan su shine jinkirin hanyar sadarwa (RTT - lokacin tafiya ko lokacin ping). Jinkiri yana shafar matakai da yawa a cikin loda gidan yanar gizo: kafa haɗin TCP, fara zaman TLS, loda kowane albarkatu (hoto, fayil ɗin JS, takaddar HTML, da sauransu.)

Matsalar ta ƙara tsananta da gaskiyar cewa lokacin amfani da ka'idar HTTP/1.1 (kafin zuwan SPDY, QUIC da HTTP/2 wannan shine kawai zaɓi), masu bincike suna buɗe haɗin haɗin TCP fiye da 6 zuwa masauki ɗaya. Duk wannan ya haifar da haɗin haɗin gwiwa da rashin amfani da bandwidth na tashar tashar. An warware matsalar wani bangare ta hanyar sharding yanki - ƙirƙirar ƙarin runduna don shawo kan iyaka akan adadin haɗin gwiwa.

Wannan shine inda ƙarfin CDN na biyu ya bayyana - rage jinkiri (RTT) saboda yawan maki da kusancin nodes ga mai amfani. Nisa yana taka muhimmiyar rawa a nan: gudun haske yana da iyaka (kimanin kilomita 200 / sec a cikin fiber na gani). Wannan yana nufin cewa kowane kilomita 000 na tafiya yana ƙara 1000 ms na jinkiri ko 5 ms zuwa RTT. Wannan shine mafi ƙarancin lokacin da ake buƙata don watsawa, tunda akwai kuma jinkiri akan kayan aiki na tsaka-tsaki. Tun da CDN yakan san yadda ake cache abubuwa akan sabar sa, zamu iya amfana daga loda irin waɗannan abubuwa ta CDN. Abubuwan da ake buƙata don wannan: kasancewar abu a cikin cache, kusancin CDN yana nuna mai amfani idan aka kwatanta da uwar garken aikace-aikacen yanar gizo (sabar asali). Yana da mahimmanci a fahimci cewa kusancin yanki na kullin CDN baya bada garantin ƙarancin latti. Za'a iya gina hanyar tafiya tsakanin abokin ciniki da CDN ta hanyar da abokin ciniki zai haɗa zuwa mai watsa shiri a wata ƙasa, kuma mai yiwuwa a wata nahiya. Wannan shi ne inda dangantakar da ke tsakanin ma'aikatan telecom da sabis na CDN (peering, haɗi, shiga cikin IX, da dai sauransu) da kuma tsarin tafiyar da zirga-zirga na CDN kanta ya shiga cikin wasa. Misali, Cloudflare, lokacin amfani da tsare-tsaren farko guda biyu (kyauta da arha), baya bada garantin isar da abun ciki daga mai masaukin mafi kusa - za a zaɓi mai watsa shiri don cimma mafi ƙarancin farashi.

Yawancin manyan kamfanonin Intanet suna jawo sha'awar jama'a (masu haɓaka gidan yanar gizo da masu sabis) zuwa batun saurin lodawa da aikin gidan yanar gizo. Daga cikin wadannan kamfanoni akwai Yahoo (Yslow Tool), AOL (WebPageTest) da Google (Sabis na Saurin Insights), waɗanda ke haɓaka shawarwarin nasu don haɓaka rukunin yanar gizo (musamman suna da alaƙa da haɓakawa abokin ciniki). Daga baya, sabbin kayan aikin gwajin saurin gidan yanar gizo sun bayyana, waɗanda kuma ke ba da shawarwari kan haɓaka saurin gidan yanar gizon. Kowane ɗayan waɗannan ayyuka ko plugins suna da madaidaiciyar shawarwari: "Yi amfani da CDN." Rage raguwar latency na cibiyar sadarwa yawanci ana nuna shi azaman bayanin tasirin CDN. Abin takaici, ba kowa ba ne a shirye ya fahimci ainihin yadda ake samun tasirin hanzari na CDN da kuma yadda za a iya auna shi, don haka ana ɗaukar shawarar akan bangaskiya kuma ana amfani da shi azaman matsayi. A zahiri, ba duk CDNs aka halicce su daidai ba.

Amfani da CDN yau

Don tantance fa'idar amfani da CDNs, suna buƙatar rarraba su. Abin da za a iya samu a yanzu a aikace (misalan a cikin shinge, ba shakka, ba su ƙare ba):

  1. CDN kyauta don rarraba dakunan karatu na JS (MaxCDN, Google. Yandex).
  2. CDN na sabis don haɓaka abokin ciniki (misali, Google Fonts don fonts, Cloudinary, Cloudimage don hotuna).
  3. CDN don haɓakawa da haɓaka albarkatu a cikin CMS (akwai a cikin Bitrix, WordPress da sauransu).
  4. Babban manufar CDN (StackPath, CDNVideo, NGENIX, Megafon).
  5. CDN don haɓaka gidan yanar gizon (Cloudflare, Imperva, Airi).

Babban bambanci tsakanin waɗannan nau'ikan shine yawan zirga-zirgar ababen hawa ta CDN. Nau'in 1-3 shine isar da sashe na abun ciki kawai: daga buƙatu ɗaya zuwa dozin da yawa (yawanci hotuna). Nau'o'in 4 da 5 suna cike da wakilcin zirga-zirga ta CDN.

A aikace, wannan yana nufin adadin haɗin da ake amfani dashi don loda shafin. Tare da HTTP/2, muna amfani da haɗin TCP guda ɗaya zuwa mai watsa shiri don aiwatar da kowane adadin buƙatun. Idan muka raba albarkatun zuwa babban mai watsa shiri (asalin) da CDN, to ya zama dole don rarraba buƙatun a cikin yankuna da yawa kuma ƙirƙirar haɗin TCP da yawa. Mafi munin yanayin shine: DNS (1 RTT) + TCP (1 RTT) + TLS (2-3 RTT) = 6-7 RTT. Wannan dabarar ba ta la'akari da jinkirin cibiyoyin sadarwar wayar hannu don kunna tashar rediyon na'urar (idan ba ta aiki) da jinkiri a hasumiya ta salula.

Anan ga yadda yake kama akan magudanar ruwa ta yanar gizo (latencies don haɗawa da CDN ana haskaka su a RTT 150 ms):

[Kada] yi amfani da CDN

Idan CDN ta ƙunshi duk zirga-zirgar yanar gizo (ban da sabis na ɓangare na uku), to zamu iya amfani da haɗin TCP guda ɗaya, adana latency akan haɗawa zuwa ƙarin runduna. Tabbas, wannan ya shafi haɗin HTTP/2.

Ana ƙayyade ƙarin bambance-bambance ta hanyar aikin wani CDN na musamman - don nau'in farko kawai yana ɗaukar fayil ɗin tsaye, na biyar yana canza nau'ikan abun ciki na rukunin yanar gizo da yawa don haɓakawa.

Iyawar CDN don haɓakar gidan yanar gizon

Bari mu bayyana cikakken kewayon damar CDN don haɓaka rukunin yanar gizo, ba tare da la’akari da ayyukan kowane nau’in CDN ba, sannan mu ga abin da aka aiwatar a kowanne ɗayansu.

1. Matsi albarkatun rubutu

Mafi mahimmancin fasalin da ake iya fahimta, amma galibi ba a aiwatar da shi ba. Duk CDNs suna bayyana kasancewar matsawa azaman fasalin haɓakarsu. Amma idan ka duba dalla-dalla, gazawar ta bayyana:

  • Ana iya amfani da ƙananan digiri don matsawa mai ƙarfi - 5-6 (misali, don gzip matsakaicin shine 9);
  • matsawa a tsaye (fayiloli a cikin cache) baya amfani da ƙarin fasali (misali, zopfi ko brotli tare da digiri 11)
  • babu tallafi don ingantacciyar matsawa brotli (ajiye kusan 20% idan aka kwatanta da gzip).

Idan kuna amfani da CDN, yana da kyau a bincika waɗannan ƴan abubuwan: ɗauki fayil ɗin da ya fito daga CDN, yi rikodin girmansa da aka matsa kuma ku matsa shi da hannu don kwatanta (zaku iya amfani da wasu sabis na kan layi tare da tallafin brotli, alal misali). vsszhat.rf).

2. Kafa abokin ciniki caching headers

Hakanan fasalin saurin sauri mai sauƙi: ƙara kanun labarai don caching abun ciki ta abokin ciniki (mai lilo). Mafi girman kai na yanzu shine sarrafa cache, wanda ya ƙare ya ƙare. Bugu da ƙari, ana iya amfani da Etag. Babban abu shi ne cewa max-age na cache-control yana da girma isa (daga wata ɗaya ko fiye) Idan kun kasance a shirye don cache albarkatun da ƙarfi sosai, zaku iya ƙara zaɓin da ba zai iya canzawa ba.

CDNs na iya rage ƙimar girman-shekaru, tilasta mai amfani don sake loda abun ciki a tsaye akai-akai. Ba a bayyana abin da ke da alaƙa da wannan ba: sha'awar haɓaka zirga-zirgar ababen hawa a kan hanyar sadarwa ko haɓaka daidaituwa tare da rukunin yanar gizon da ba su san yadda ake sake saita cache ba. Misali, tsohowar lokacin cache na Cloudflare shine sa'a 1, wanda yayi ƙasa sosai don bayanan da ba za a iya canzawa ba.

3. Inganta hoto

Tun da CDN yana ɗaukar ayyukan caching da ba da hotuna, zai zama ma'ana don inganta su a gefen CDN kuma a yi musu hidima ga masu amfani ta wannan sigar. Bari mu yi ajiyar wuri nan da nan cewa wannan fasalin yana samuwa ne kawai don nau'ikan CDN 2, 3 da 5.

Kuna iya inganta hotuna ta hanyoyi daban-daban: ta amfani da tsarin matsawa na ci gaba (kamar WebP), ingantattun encoders (MozJPEG), ko kawai share bayanan da ba dole ba.

Gabaɗaya, akwai nau'ikan irin waɗannan haɓakawa iri biyu: tare da asarar inganci kuma ba tare da asarar inganci ba. CDNs yawanci suna ƙoƙarin amfani da ingantawa mara asara don gujewa yuwuwar korafe-korafen abokin ciniki game da canje-canjen ingancin hoto. A irin waɗannan yanayi, riba za ta kasance kadan. A zahiri, sau da yawa matakin ingancin JPEG yana da girma fiye da zama dole kuma zaku iya sake matsawa cikin aminci tare da ƙaramin ingancin matakin ba tare da lalata ƙwarewar mai amfani ba. A gefe guda, yana da wahala a tantance matakin inganci da saiti a duniya don duk aikace-aikacen yanar gizo mai yuwuwa, don haka CDNs suna amfani da saitunan masu ra'ayin mazan jiya idan aka kwatanta da waɗanda za a iya amfani da su ta la'akari da mahallin (manufar hotuna, nau'in aikace-aikacen yanar gizo). , da sauransu)

4. Inganta haɗin TLS

Yawancin zirga-zirga a yau suna tafiya akan haɗin TLS, wanda ke nufin muna ciyar da ƙarin lokaci akan tattaunawar TLS. Kwanan nan, an kirkiro sabbin fasahohi don hanzarta wannan tsari. Misali, wannan shine EC cryptography, TLS 1.3, cache da tikiti, haɓaka ɓoyayyen kayan aiki (AES-NI), da sauransu. Daidaitaccen saitin TLS na iya rage lokacin haɗin kai zuwa 0-1 RTT (ba ƙidaya DNS da TCP ba).

Tare da software na zamani, ba shi da wahala a aiwatar da irin waɗannan ayyukan da kanku.

Ba duk CDNs ke aiwatar da mafi kyawun ayyuka na TLS ba; zaku iya bincika wannan ta auna lokacin haɗin TLS (misali, a cikin Webpagetest). Mafi dacewa don sabon haɗin gwiwa - 1RTT, 2RTT - matsakaicin matakin, 3RTT da ƙari - mara kyau.

Har ila yau, ya kamata a lura cewa ko da lokacin amfani da TLS a matakin CDN, uwar garken tare da aikace-aikacen yanar gizon mu dole ne ya aiwatar da TLS, amma daga bangaren CDN, saboda zirga-zirga tsakanin uwar garken da CDN yana wucewa ta hanyar sadarwar jama'a. A cikin mafi munin yanayi, za mu sami jinkirin haɗin TLS sau biyu (na farko zuwa mai watsa shirye-shiryen CDN, na biyu tsakanin sa da sabar mu).

Ga wasu aikace-aikacen, yana da kyau a kula da lamuran tsaro: yawanci ana lalata zirga-zirgar ababen hawa akan nodes na CDN, kuma wannan dama ce mai yuwuwar shiga tsakani. Zaɓin yin aiki ba tare da bayyana zirga-zirga ba yawanci ana ba da shi a cikin manyan tsare-tsaren jadawalin kuɗin fito don ƙarin kuɗi.

5. Rage jinkirin haɗi

Babban fa'idar CDN da kowa ke magana game da shi: ƙarancin latency (ƙananan nisa) tsakanin mai watsa shirye-shiryen CDN da mai amfani. An cim ma ta hanyar ƙirƙirar gine-ginen cibiyar sadarwa da aka rarraba a yanki, wanda runduna ke cikin wuraren tattara masu amfani (birane, wuraren musayar zirga-zirga, da sauransu.)

A aikace, fifiko ga cibiyoyin sadarwa daban-daban na iya kasancewa a takamaiman yankuna. Misali, CDN na Rasha za su sami ƙarin wuraren zama a Rasha. Amurkawa za su fara haɓaka hanyar sadarwa a cikin Amurka. Alal misali, ɗaya daga cikin mafi girma CDN Cloudflare yana da maki 2 kawai a Rasha - Moscow da St. Petersburg. Wato, zamu iya adana matsakaicin kusan 10 ms na latency idan aka kwatanta da jeri kai tsaye a Moscow.

Yawancin CDN na Yamma ba su da maki a Rasha kwata-kwata. Ta hanyar haɗa su, kawai za ku iya ƙara jinkiri ga masu sauraron ku na Rasha.

6. Inganta abun ciki (rauni, canje-canjen tsari)

Mafi hadaddun wuri da ci gaba na fasaha. Canza abun ciki yayin bayarwa na iya zama haɗari sosai. Ko da mun ɗauki minification: rage lambar tushe (saboda ƙarin sarari, sifofi marasa mahimmanci, da sauransu) na iya shafar aikin sa. Idan muka yi magana game da sauye-sauye masu tsanani - matsar da lambar JS zuwa ƙarshen HTML, haɗa fayiloli, da dai sauransu - haɗarin rushe ayyukan shafin ya fi girma.

Don haka, kawai wasu nau'ikan CDN 5 ne kawai ke yin wannan. Tabbas, ba zai yiwu a sarrafa duk canje-canjen da ake buƙata don hanzarta abubuwa ba - ana buƙatar bincike na hannu da haɓakawa. Misali, cire lambar da ba a amfani da ita ko kwafi aikin hannu ne.

A matsayinka na mai mulki, duk irin waɗannan ingantawa ana sarrafa su ta hanyar saituna kuma mafi haɗari suna kashe su ta hanyar tsoho.

Taimako don ƙarfin haɓakawa ta nau'in CDN

Don haka bari mu kalli menene yuwuwar damar haɓaka haɓaka nau'ikan CDN daban-daban ke samarwa.

Don saukakawa, muna maimaita rarrabuwa.

  1. CDN kyauta don rarraba dakunan karatu na JS (MaxCDN, Google. Yandex).
  2. CDN na sabis don haɓaka abokin ciniki (misali, Google Fonts don fonts, Cloudinary, Cloudimage don hotuna).
  3. CDN don haɓakawa da haɓaka albarkatu a cikin CMS (akwai a cikin Bitrix, WordPress da sauransu).
  4. Babban manufar CDN (StackPath, CDNVideo, NGENIX, Megafon).
  5. CDN don haɓaka gidan yanar gizon (Cloudflare, Imperva, Airi).

Yanzu bari mu kwatanta fasali da nau'ikan CDN.

Dama
Rubuta 1
Rubuta 2
Rubuta 3
Rubuta 4
Rubuta 5

Matsa rubutu
+–
-
+–
+–
+

Maganin cache
+
+
+
+
+

Hotuna
-
+–
+–
-
+

TLS
-
-
-
+–
+

Jinkiri
-
-
-
+
+

Contents
-
-
-
-
+

A cikin wannan tebur, ana amfani da "+" don nuna cikakken goyon baya, "-" ba tallafi ba ne, kuma "+-" goyon baya ne na ɓangare. Tabbas, ana iya samun sabani daga wannan tebur a zahiri (misali, wasu CDN na gaba ɗaya za su aiwatar da fasali don inganta hotuna), amma ga ra'ayi na gaba ɗaya yana da amfani.

Sakamakon

Da fatan, bayan karanta wannan labarin za ku sami ƙarin haske game da shawarar "amfani da CDN" don haɓaka rukunin yanar gizonku.

Kamar kowane kasuwanci, ba za ku iya gaskata alkawuran tallace-tallace na kowane sabis ba. Ana buƙatar aunawa da gwada tasirin tasirin a ƙarƙashin yanayi na gaske. Idan kun riga kun yi amfani da CDN, duba shi don tasiri ta amfani da ma'auni da aka bayyana a cikin labarin.

Yana yiwuwa yin amfani da CDN a yanzu yana rage lokacin lodin rukunin yanar gizon ku.

A matsayin shawarwarin gabaɗaya, za mu iya mai da hankali kan abubuwan da ke biyowa: nazarin masu sauraron ku, ƙayyadadden yanayin yanki. Idan manyan masu sauraron ku sun taru a cikin radius na kilomita dubu 1-2, ba kwa buƙatar CDN don babban manufarsa - rage jinkirin. Madadin haka, zaku iya sanya sabar ku kusa da masu amfani da ku kuma saita shi yadda yakamata, samun mafi yawan abubuwan ingantawa da aka bayyana a cikin labarin (kyauta da dindindin).

Idan da gaske an rarraba masu sauraron ku a yanayin ƙasa (radius sama da kilomita 3000), yin amfani da CDN mai inganci zai yi amfani da gaske. Koyaya, kuna buƙatar fahimtar a gaba menene ainihin CDN ɗinku na iya sauri (duba tebur na iyawa da bayanin su). Koyaya, haɓakar gidan yanar gizon har yanzu ya kasance aiki mai rikitarwa wanda ba za a iya warware shi ta hanyar haɗa CDN ba. Baya ga haɓakawa na sama, mafi inganci hanyoyin haɓakawa sun kasance a bayan CDN: haɓaka sashin uwar garken, sauye-sauye na ci gaba zuwa ɓangaren abokin ciniki (cire lambar da ba a yi amfani da ita ba, haɓaka tsarin samarwa, aiki tare da abun ciki, fonts, daidaitawa, da sauransu. )

source: www.habr.com

Add a comment