Ուղեցույցներ

Ի՞նչ է CDN-ը. բովանդակության առաքման ցանցերը պարզ բացատրությամբ

CDN-ը (content delivery network, բովանդակության առաքման ցանց) սերվերների ցանց է, որը տարբեր քաղաքներում պահում է ձեր կայքի ֆայլերի պատճենները՝ պատկերներ, սկրիպտներ, ոճային թերթեր, երբեմն նաև ամբողջական էջեր։ Երբ մեկը այցելում է ձեր կայքը, նրան սպասարկում են իր մոտակա վայրից, ոչ թե մեկ հեռավոր սերվերից։ Դա էջերը արագացնում է, թեթևացնում է ձեր սերվերի բեռը և օգնում է կայքին դիմանալ հանկարծակի ծանրաբեռնվածությանը։

Ինչու են CDN-ները կարևոր AI-ով կառուցելիս

Հնարավոր է, երբեք ինքներդ CDN չկարգավորեք, քանի որ շատ հոստինգ հարթակներ այն ձեր կայքի առջև ավտոմատ կերպով են դնում։ Բայց դրա ազդեցությունը կզգաք․

  • Արագություն։ Արագ բեռնվող էջերը պահում են այցելուներին և կարևոր են նաև որոնման համակարգերի համար։ Տե՛ս ինչպես դարձնել ձեր կայքն ավելի արագ։
  • «Ինչու չի երևում իմ փոփոխությունը»։ Թարմացում հրապարակելուց հետո հին տարբերակի քեշավորված պատճենը որոշ ժամանակ կարող է մնալ։ Իմանալը, թե ինչու, շատ շփոթմունքից է խուսափեցնում։
  • Գաղտնիություն և ճշտություն։ Եթե CDN-ը քեշավորում է սխալ բան՝ մեկ օգտատիրոջ տվյալներով էջ, հաջորդ այցելուն կարող է այն տեսնել։ Իմանալը, թե ինչ պետք է և ինչ չպետք է քեշավորվի, օգնում է ճիշտ հարցեր տալ։

Ամենօրյա անալոգիա

Պատկերացրեք հացի գործարան, որը հացը ամբողջ երկրում վաճառում է մեկ խանութից։ Յուրաքանչյուր գնորդ, որքան էլ հեռու լինի, սպասում է այդ մեկ խանութից առաքմանը, և հաղթած օրը հերթերը հսկայական են։

CDN-ը նման է երկրի տարբեր անկյունային խանութներում նույն հացը դնելուն։ Գնորդները մոտակայքում արագ են վերցնում այն, իսկ գլխավոր գործարանը միայն երբեմն է լցնում անկյունային խանութները։ Բայց կա մի թակարդ․ երբ գործարանը փոխում է բաղադրատոմսը, անկյունային խանութները շարունակում են վաճառել հին հացը, մինչև նրանց չասեն փոխել այն կամ հինը ժամկետանց չլինի։

Ինչպես է աշխատում CDN-ը

  1. Ձեր աղբյուրը (origin)։ Ձեր կայքը գտնվում է ձեր գլխավոր սերվերում կամ հոստինգի հարթակում՝ origin։
  2. Եզրային վայրեր։ CDN-ը աշխատում է բազմաթիվ վայրերում, որոնք կոչվում են edge locations կամ points of presence։
  3. Երթուղավորում։ Երբ այցելուն հարցում է ուղարկում ձեր կայքին, DNS-ը կամ ցանցային երթուղավորումը նրան ուղարկում է մոտակա եզրին։ Տե՛ս ինչպես են աշխատում դոմեյնները և DNS-ը։
  4. Քեշի հիթ (cache hit)։ Եթե այդ եզրն արդեն ունի ֆայլի թարմ պատճեն, այն անմիջապես ուղարկում է այն։
  5. Քեշի միսս (cache miss)։ Եթե ոչ, եզրը ֆայլը վերցնում է ձեր աղբյուրից, ուղարկում այցելուին և պահում պատճենը հաջորդ մարդու համար։
  6. Ժամկետի ավարտ։ Յուրաքանչյուր պատճեն պահվում է սահմանված ժամանակով, որը կարգավորվում է ձեր սերվերի ուղարկած cache headers-ներով, կամ մինչև այն մաքրվի։

Աշխատած օրինակ՝ լուսանկարչի պորտֆոլիո

Լուսանկարչի պորտֆոլիոն ունի գլխավոր էջ, 60 մեծ պատկերով գալերեա և կոնտակտային ձև։ Աղբյուրը գտնվում է Եվրոպայում։ Սինգապուրից մեկը բացում է գալերեան։

  • Առանց CDN-ի։ Յուրաքանչյուր պատկեր գալիս է Եվրոպայից։ Յուրաքանչյուր հարցում անցնում է ամբողջ աշխարհով, և գալերեան դանդաղ է լցվում։
  • CDN-ով։ Առաջին այցելուն Սինգապուրի մոտ ստիպում է տեղի եզրին վերցնել և պահել պատկերները։ Դրանից հետո այդ տարածաշրջան եկողները դրանք ստանում են մոտակայքից՝ շատ ավելի արագ։

Այժմ լուսանկարիչը փոխում է գլխավոր էջի պատկերը և նորից հրապարակում։ Այն, թե այցելուները կտեսնե՞ն փոփոխությունը, կախված է հետևյալից․

/index.html                    → կարճ քեշի ժամանակ, հաճախ է ստուգվում
/assets/index-3f9a2c.js        → երկար ժամանակ քեշավորված
/assets/hero-8b41d0.jpg        → երկար ժամանակ քեշավորված

Ժամանակակից build գործիքները, ներառյալ Vite-ը, ֆայլերին տալիս են հեշավորված անուններ, ինչպիսին է hero-8b41d0.jpg։ Երբ ֆայլը փոխվում է, նրա անունն էլ է փոխվում, ուստի էջը խնդրում է բոլորովին նոր ֆայլ, որը ոչ մի քեշ դեռ չի տեսել։ Ինքը HTML էջը քեշավորվում է միայն կարճ ժամանակով, ուստի շուտով այն նոր ֆայլերին է ուղղորդում։ Սա ստանդարտ եղանակ է՝ և՛ երկար քեշավորում, և՛ թարմ թարմացումներ ստանալու համար։

Կոնտակտային ձևը այլ է։ Դրա ուղարկումները ամեն անգամ գնում են սերվեր, և երբեք չպետք է քեշավորվեն։

Ինչ քեշավորել և ինչ ոչ

Սովորաբար քեշավորել երկարՍովորաբար քեշավորել կարճՉքեշավորել ընդհանուր CDN-ում
Պատկերներ, տառատեսակներ, տեսանյութերՀանրային կայքի HTML էջերՄուտք գործած էջեր, վահանակներ
JavaScript և CSS հեշավորված անուններովՀանրային API տվյալներ, որոնք երբեմն փոխվում ենՑանկացած անձնական տվյալ
Ներբեռնվող ֆայլեր, որոնք հազվադեպ են փոխվումՁևերի ուղարկումներ, վճարումներ, ցանկացած POST հարցում

Հիմնական տերմիններ

ՏերմինՆշանակություն
OriginՁեր գլխավոր սերվերը կամ հոստը, որտեղ գտնվում են իրական ֆայլերը։
Edge / PoPCDN-ի վայր, որը մոտակայքում սպասարկում է այցելուներին։
Cache hit / missԵզրը ունեցավ ֆայլը / ստիպված եղավ այն վերցնել աղբյուրից։
TTLTime to live՝ որքան ժամանակ է պահվում քեշավորված պատճենը։
Cache-Control headerՀրահանգ, որ ձեր սերվերն ուղարկում է՝ ասելով, թե ինչ և որքան երկար կարելի է քեշավորել։
Purge / invalidateCDN-ին ասել, որ հիմա ջնջի քեշավորված պատճենները։
Cache bustingՖայլի անունը կամ URL-ը փոխել, երբ այն փոխվում է, որպեսզի քեշերը նորն ստանան։
LatencyՀեռավորությունից և ցանցային հանգույցներից առաջացած ուշացում։

Քեշավորման մասին ավելի ընդհանուր՝ բրաուզերներում, սերվերներում և տվյալների բազաներում, տե՛ս ինչ է քեշավորումը։

Տարածված թյուրըմբռնումներ

  • «CDN-ը ամեն ինչ արագացնում է»։ Այն արագացնում է ֆայլերի առաքումը։ Դանդաղ տվյալների բազայի հարցումը կամ դանդաղ AI կանչը ձեր սերվերում միևնույնն է դանդաղ են մնում։
  • «CDN-ը փոխարինում է հոստինգին»։ Այն գտնվում է ձեր հոստինգի առջև։ Դեռ աղբյուր է պետք։
  • «Եթե թարմացրել եմ կայքը, բոլորը անմիջապես կտեսնեն»։ Հին պատճենները որոշ ժամանակ կարող են մնալ CDN-ում և բրաուզերներում։ Ստուգելու համար կատարեք կոշտ թարմացում և օգտագործեք հեշավորված ֆայլերի անուններ։
  • «Քեշավորումը միշտ անվտանգ է»։ Անհատականացված էջի քեշավորումը ընդհանուր քեշում իրական գաղտնիության ռիսկ է։ Անձնական պատասխանները պետք է նշված լինեն որպես չքեշավորվող։
  • «CDN-ները միայն մեծ ընկերությունների համար են»։ Շատ հոստեր փոքր կայքերի համար այն ներառում են առանց լրացուցիչ ջանքի։

Ինչ հարցնել AI կառուցիչից

  • «Այս կայքի առջև CDN կա՞։ Ո՞ր ֆայլերն է քեշավորում և որքան երկար։»
  • «Համոզվիր, որ կառուցված JavaScript-ը, CSS-ը և պատկերները ունեն հեշավորված անուններ և երկար քեշի ժամանակ, իսկ HTML-ը՝ կարճ։»
  • «Երբեք մի քեշավորիր մուտք գործած էջեր կամ API պատասխաններ, որոնք անձնական տվյալներ ունեն, ընդհանուր քեշում։»
  • «Սեղմիր և չափափոխիր պատկերները, որպեսզի գալերեան արագ բեռնվի։»
  • «Թարմացում հրապարակեցի, բայց դեռ հին տարբերակն եմ տեսնում։ Դա բրաուզերի՞ քեշն է, թե CDN-ինը։»

CDN-ներ և Mythex

Mythex-ում հրապարակելիս ստատիկ frontend-ները տեղակայվում են որպես ստատիկ կայքեր, և փաստաթղթերը նշում են, որ CDN քեշերը թարմացումից հետո կարող են կարճ ուշանալ․ եթե վերահրապարակումից հետո դեռ հին տարբերակ եք տեսնում, կատարեք կոշտ թարմացում հանրային URL-ում։ Դրա համար կարգավորելու բան չկա։ Եթե միացնում եք սեփական դոմեյն, որի DNS-ը գտնվում է Cloudflare-ում, փաստաթղթերը խնդրում են գրառումը դնել «DNS only», այլ ոչ թե proxied, որպեսզի Mythex-ը ճիշտ տրամադրի HTTPS։ Տե՛ս փաստաթղթերում ինչպես հրապարակել և սեփական դոմեյններ, և մեր վեբ հոստինգի ուղեցույցը։

Հարցեր

Ի՞նչ է CDN-ը պարզ խոսքերով։

CDN-ը (content delivery network, բովանդակության առաքման ցանց) բազմաթիվ վայրերում գտնվող սերվերների ցանց է, որոնք պահում են ձեր կայքի ֆայլերի պատճենները։ Այցելուներին սպասարկում են իրենց մոտակա վայրից, ոչ թե ձեր գլխավոր սերվերից, ուստի էջերը արագ են բեռնվում, և ձեր սերվերն ավելի քիչ աշխատանք ունի։

Ինչու եմ դեռ տեսնում կայքի հին տարբերակը թարմացնելուց հետո։

Սովորաբար որովհետև հին ֆայլի պատճենը քեշավորված է՝ CDN-ում, բրաուզերում կամ երկուսում էլ։ Կոշտ թարմացումը լուծում է բրաուզերի կողմը. CDN-ի պատճենները ժամկետանց են դառնում իրենց ժամանակին կամ կարող են մաքրվել։ Կառուցող գործիքները մեծ մասամբ խուսափում են դրանից՝ փոփոխված ֆայլերին նոր անուններ տալով։

Փոքր կայքի համար CDN-ի՞ն է պետք։

Հաճախ դուք այն ունեք՝ առանց ընտրելու, քանի որ շատ հոստինգ հարթակներ կայքերի առջև ավտոմատ կերպով CDN են դնում։ Եթե ձերը չունի, և ձեր այցելուները տարբեր երկրներում են, դրա ավելացումը սովորաբար արժեքավոր է։

Կարո՞ղ է CDN-ը քեշավորել իմ հավելվածի տվյալները և մուտք գործած էջերը։

Այն կարող է քեշավորել այն ամենը, ինչ թույլատրված է, ուստի այն պետք է մանրակրկիտ կարգավորվի։ Հանրային ֆայլերը՝ պատկերները, սկրիպտները և ոճերը, իդեալական են։ Անձնական կամ մուտք գործած բովանդակությունը սովորաբար չպետք է քեշավորվի ընդհանուր CDN-ում, այլապես մի օգտատեր կարող է տեսնել մյուսի տվյալները։

Mythex · Pricing · Կառուցեք ամեն ինչ AI-ով · Կաղապարներ կայքերի և հավելվածների համար · Mythex-ի համեմատությունները · AI-ով հավելվածների ստեղծման բառարան · Անվճար գործիքներ AI-ով հավելվածներ ստեղծելու համար · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)