Leiðbeiningar

Hvað er CDN? Efnisdreifikerfi útskýrð einfaldlega

CDN (content delivery network, efnisdreifikerfi) er net netþjóna sem dreifðir eru um margar borgir og geyma afrit af skrám vefsíðunnar þinnar: myndum, skriptum, stílskrám og stundum heilum síðum. Þegar einhver heimsækir síðuna þína fær hann efnið frá stað nálægt sér í stað þess að fá það frá fjarlægum netþjóni. Það gerir síðurnar hraðari, léttir álagi af þínum eigin netþjóni og hjálpar síðunni að standa undir skyndilegum umferðarsveiflum.

Af hverju CDN skiptir máli þegar smíðað er með gervigreind

Þú setur kannski aldrei upp CDN sjálf/ur, því mörg hýsingarkerfi setja eitt sjálfkrafa fyrir framan síðuna þína. En þú finnur fyrir áhrifunum:

  • Hraði. Síður sem hlaðast hraðar halda gestum lengur og eru meðal þess sem leitarvélar meta. Sjá hvernig gerir þú vefsíðuna hraðari.
  • „Af hverju sést breytingin mín ekki?“ Eftir að þú birtir uppfærslu getur afrit af gömlu útgáfunni í skyndiminni lifað í stutta stund. Ef þú veist af því sparar þú mikinn rugling.
  • Friðhelgi og réttleiki. Ef CDN geymir eitthvað sem ekki átti að geyma, eins og síðu með upplýsingum um einn notanda, getur næsti gestur séð hana. Ef þú veist hvað má og má ekki geyma hjálpar það þér að spyrja réttu spurninganna.

Hliðstæða úr daglegu lífi

Ímyndaðu þér bakarí sem selur brauð um allt land frá einni búð. Hver viðskiptavinur, hversu langt sem hann býr, þarf að bíða eftir sendingu frá þeirri einu búð, og á annasömum degi er biðröðin gríðarleg.

CDN er eins og að hafa sama brauðið í hverfisbúðum um allt land. Viðskiptavinir ná í það nálægt sér, fljótt, og aðalbakaríið þarf aðeins að fylla á hverfisbúðirnar öðru hverju. Gallinn: þegar bakaríið breytir uppskriftinni selja hverfisbúðirnar gömlu brauðin þar til þeim er sagt að skipta þeim út eða þar til gamli lagerinn klárast.

Hvernig CDN virkar

  1. Uppruninn þinn. Síðan þín lifir á aðalnetþjóninum þínum eða hýsingarkerfinu. Það kallast uppruni (origin).
  2. Jaðarstaðsetningar. CDN keyrir netþjóna á mörgum stöðum, kallaðir jaðarstaðsetningar (edge locations) eða nærvera (points of presence).
  3. Beining. Þegar gestur biður um síðuna þína sendir DNS eða netbeining hann á nálægan jaðar. Sjá hvernig lén og DNS virka.
  4. Hit í skyndiminni. Ef jaðarinn á þegar ferskt afrit af skránni sendir hann hana strax.
  5. Miss í skyndiminni. Ef ekki sækir jaðarinn skrána frá uppruna, sendir hana til gestsins og geymir afrit fyrir þann næsta.
  6. Gildistími. Hvert afrit er geymt í ákveðinn tíma, stýrt af hausum fyrir skyndiminni (cache headers) sem netþjónninn þinn sendir, eða þar til það er hreinsað.

Vinnudæmi: ljósmyndasafn með myndum

Safn ljósmyndara hefur forsíðu, gallerí með 60 stórum myndum og tengiform. Uppruninn er í Evrópu. Gestur í Singapúr opnar galleríið.

  • Án CDN: hver mynd ferðast frá Evrópu. Hver beiðni fer alla leið um heiminn og fram og til baka, svo galleríið fyllist hægt.
  • Með CDN: fyrsti gesturinn nálægt Singapúr veldur því að jaðarinn þar sækir myndirnar og geymir þær. Hver næsti gestur á svæðinu fær þær nálægt sér, mun hraðar.

Nú skiptir ljósmyndarinn um forsíðumyndina og birtir aftur. Þetta ræður því hvort gestir sjá breytinguna:

/index.html                    → stuttur geymslutími, athugaður oft
/assets/index-3f9a2c.js        → geymt lengi
/assets/hero-8b41d0.jpg        → geymt lengi

Nútímaverkfæri til smíða, þar á meðal Vite, gefa skrám nöfn með tætigildi (hashed names) eins og hero-8b41d0.jpg. Þegar skrá breytist breytist nafnið líka, svo síðan biður um nýja skrá sem ekkert skyndiminni hefur séð áður. HTML-síðan sjálf er aðeins geymd stutt, svo hún vísar gestum fljótt á nýju skrárnar. Þetta er staðlaða leiðin til að fá bæði langa geymslu og ferskar uppfærslur.

Snertiformið er öðruvísi. Innsendingar fara alltaf á netþjóninn og á aldrei að geyma þær.

Hvað á að geyma og hvað ekki

Venjulega geymt lengiVenjulega geymt stuttEkki geyma í sameiginlegu CDN
Myndir, leturgerðir, myndböndHTML-síður opinberrar vefsíðuSíður fyrir innskráða notendur, mælaborð
JavaScript og CSS með tætigildum í nafniOpinber API-gögn sem breytast stundumAllt með persónuupplýsingum
Niðurhalsskrár sem breytast sjaldanInnsendingar eyðublaða, greiðslur, öll POST-beiðni

Lykilhugtök

HugtakMerking
Uppruni (origin)Aðalnetþjónninn þinn eða hýsingin, þar sem raunverulegu skrárnar liggja.
Jaðar / PoPStaðsetning CDN sem þjónar gestum nálægt þeim.
Hit / miss í skyndiminniJaðarinn átti skrána / þurfti að sækja hana frá uppruna.
TTLTime to live: hve lengi afrit í skyndiminni er geymt.
Cache-Control-hausFyrirmæli sem netþjónninn sendir um hvort og hve lengi megi geyma eitthvað.
Hreinsa / ógilda (purge / invalidate)Segja CDN að henda afritunum í skyndiminni strax.
Skyndiminnisbrot (cache busting)Breyta nafni eða slóð skráar þegar hún breytist, svo skyndiminnin sæki þá nýju.
Biðtími (latency)Töfin sem fjarlægð og netkeðjur valda.

Um skyndiminni almennt, í vöfrum, netþjónum og gagnagrunnum, sjá hvað er skyndiminni.

Algengur misskilningur

  • „CDN gerir allt hraðara.“ Það hraðar afhendingu skráa. Hæg gagnagrunnsfyrirspurn eða hægt gervigreindarkall á netþjóninum þínum er samt hægt.
  • „CDN kemur í stað hýsingar.“ Það situr fyrir framan hýsinguna þína. Þú þarft samt uppruna.
  • „Ef ég uppfærði síðuna sér allir hana strax.“ Gömul afrit geta lifað stutta stund í CDN og í vöfrum. Endurhladdu harkalega til að athuga, og notaðu tætigildi í skráarnöfnum.
  • „Skyndiminni er alltaf öruggt.“ Að geyma persónulega síðu í sameiginlegu skyndiminni er raunveruleg persónuverndaráhætta. Einkasvör eiga að vera merkt sem ekki geymanleg.
  • „CDN eru aðeins fyrir stór fyrirtæki.“ Mörg hýsingarkerfi innihalda CDN fyrir litlar síður án aukafyrirhafnar.

Hvað á að spyrja gervigreindarsmiðinn þinn

  • „Er CDN fyrir framan þessa síðu? Hvaða skrár geymir það og hve lengi?“
  • „Gakktu úr skugga um að smíðaðar JavaScript-, CSS- og myndskrár hafi tætigildi í nafni og langan geymslutíma, og að HTML hafi stuttan.“
  • „Geymdu aldrei síður fyrir innskráða notendur eða API-svör með persónuupplýsingum í sameiginlegu skyndiminni.“
  • „Þjappaðu og minnkaðu myndir svo galleríið hlaðist hratt.“
  • „Ég birti uppfærslu en sé enn gömlu útgáfuna. Er það skyndiminni vafrans eða CDN?“

CDN og Mythex

Þegar þú birtir á Mythex eru kyrrstæðir framendar birtir sem kyrrstæðar síður, og í skjölunum kemur fram að skyndiminni CDN getur dregist stutta stund á eftir uppfærslu: ef þú sérð enn gamla útgáfu eftir að hafa birt aftur skaltu endurhlaða opinberu slóðinni harkalega. Ekkert þarf að stilla fyrir það. Ef þú tengir eigið lén sem hefur DNS hjá Cloudflare biðja skjölin þig um að stilla skrána á „DNS only“ í stað „proxied“, svo Mythex geti gefið út HTTPS rétt. Sjá hvernig birtir þú og sérsniðin lén í skjölunum, og leiðbeininguna okkar um vefhýsingu.

Spurningar

Hvað er CDN í einföldu máli?

CDN (content delivery network, efnisdreifikerfi) er net netþjóna á mörgum stöðum sem geymir afrit af skrám vefsíðunnar þinnar. Gestir fá efnið frá stað nálægt sér í stað aðalnetþjónsins þíns, svo síður hlaðast hraðar og netþjónninn þinn vinnur minna.

Af hverju sé ég enn gömlu útgáfuna af síðunni eftir uppfærslu?

Yfirleitt vegna þess að afrit af gömlu skránni er í skyndiminni, í CDN, í vafranum þínum eða í báðum. Harkaleg endurhleðsla lagar vafrahlutann; afrit í CDN renna út af sjálfu sér eða er hægt að hreinsa. Smíðaverkfæri komast hjá flestu þessu með því að gefa breyttum skrám ný nöfn.

Þarf ég CDN fyrir litla vefsíðu?

Þú hefur oft eitt án þess að velja það, því mörg hýsingarkerfi setja CDN sjálfkrafa fyrir framan síður. Ef þitt gerir það ekki og gestir þínir dreifast um mörg lönd er yfirleitt þess virði að bæta því við.

Getur CDN geymt gögn appsins míns og síður fyrir innskráða notendur?

Það getur geymt allt sem það má, og þess vegna þarf að setja það upp af varkárni. Opinberar skrár eins og myndir, skriptur og stílar eru tilvaldar. Persónulegt efni eða efni fyrir innskráða notendur á yfirleitt ekki að geyma í sameiginlegu CDN, því annar notandi gæti séð gögn þín.

Mythex · Pricing · Smíðaðu hvað sem er með gervigreind · Sniðmát fyrir vefsíður og forrit · Mythex í samanburði · Orðasafn um forritasmíði með gervigreind · Ókeypis verkfæri fyrir forritasmíði með gervigreind · 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 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 简体中文 繁體中文(香港) 繁體中文(台灣)