Kas ir CDN? Satura piegādes tīkli vienkārši paskaidroti
CDN (satura piegādes tīkls) ir serveru tīkls, kas izkliedēts pa daudzām pilsētām un glabā jūsu vietnes failu kopijas — attēlus, skriptus, stilu failus, dažkārt pat visas lapas. Kad kāds apmeklē jūsu vietni, viņam saturs tiek piegādāts no vietas, kas atrodas tuvu, nevis no viena tāla servera. Tas padara lapas ātrākas, atvieglo jūsu paša serveri un palīdz vietnei tikt galā ar trafika pīķiem.
Kāpēc CDN ir svarīgi, veidojot ar AI
Jūs varat nekad pats nekonfigurēt CDN — daudzas hostinga platformas automātiski novieto vienu vietnes priekšā. Taču jūs to jutīsiet:
- Ātrums. Ātrāk ielādējas lapas notur apmeklētājus, un tas ir viens no faktoriem, ko meklētājprogrammas ņem vērā. Skatiet kā padarīt savu vietni ātrāku.
- „Kāpēc mans labojums nerādās?” Pēc atjauninājuma publicēšanas vecās versijas kešatmiņas kopija var saglabāties uz īsu brīdi. Zinot iemeslu, daudz neskaidrību var izvairīties.
- Privātums un pareizība. Ja CDN saglabā kešatmiņā nepareizas lietas — lapu ar kāda lietotāja datiem —, nākamais apmeklētājs to var redzēt. Zinot, kas drīkst un kas nedrīkst tikt saglabāts kešatmiņā, palīdz uzdot pareizos jautājumus.
Ikdienas salīdzinājums
Iedomājieties maizes cepli, kas pārdod savu maizi visā valstī no viena veikala. Katram klientam, lai cik tāls, jāgaida piegāde no šī viena veikala — un noslogotā dienā rinda ir milzīga.
CDN ir kā tā paša maizes nodrošināšana vietējos stūra veikalos visā valstī. Klienti to paņem tuvumā, ātri, un galvenajai cepsētavai reizēm jāpapildina tikai stūra veikali. Būtiskā atšķirība: kad cepsētava maina recepti, stūra veikali turpina pārdot vecās klaipu versijas, līdz tiek pateikts tās nomainīt vai vecais krājums beidzas.
Kā darbojas CDN
- Jūsu avots (origin). Jūsu vietne atrodas jūsu galvenajā serverī vai hostinga platformā — to sauc par origin.
- Malas atrašanās vietas (edge). CDN darbina serverus daudzās vietās, ko sauc par edge locations jeb points of presence.
- Maršrutēšana. Kad apmeklētājs pieprasa jūsu vietni, DNS vai tīkla maršrutēšana viņu nosūta uz tuvāko malas serveri. Skatiet kā darbojas domēni un DNS.
- Kešatmiņas trāpījums (cache hit). Ja šajā malas serverī jau ir svaiga faila kopija, tā tiek nosūtīta tūlīt.
- Kešatmiņas netrāpījums (cache miss). Ja nav, malas serveris faila kopiju paņem no jūsu avota, nosūta apmeklētājam un glabā nākamajam cilvēkam.
- Beigas. Katra kopija tiek glabāta noteiktu laiku, ko kontrolē cache headers, ko jūsu serveris nosūta, vai līdz tā tiek notīrīta.
Praktisks piemērs: fotogrāfa portfolio vietne ar fotogrāfijām
Fotogrāfa portfolio ir sākumlapa, galerija ar 60 lieliem attēliem un kontaktforma. Avots atrodas Eiropā. Apmeklētājs Singapūrā atver galeriju.
- Bez CDN: katrs attēls ceļo no Eiropas. Katrs pieprasījums veic apli pa pasauli, tāpēc galerija aizpildās lēni.
- Ar CDN: pirmais apmeklētājs tuvu Singapūrai liek tur esošajam malas serverim attēlus paņemt un saglabāt. Katrs nākamais apmeklētājs šajā reģionā tos saņem no tuvienes, daudz ātrāk.
Tagad fotogrāfs nomaina sākumlapas galveno fotogrāfiju un publicē vēlreiz. Šeit ir, kas nosaka, vai apmeklētāji to redzēs:
/index.html → īss kešatmiņas laiks, bieži pārbaudīts
/assets/index-3f9a2c.js → ilgi saglabāts kešatmiņā
/assets/hero-8b41d0.jpg → ilgi saglabāts kešatmiņā
Mūsdienu būvēšanas rīki, tostarp Vite, failiem dod hash nosaukumus, piemēram, hero-8b41d0.jpg. Kad fails mainās, mainās arī tā nosaukums, tāpēc lapa pieprasa pilnīgi jaunu failu, ko neviena kešatmiņa vēl nav redzējusi. Pati HTML lapa tiek glabāta kešatmiņā tikai īsi, tāpēc drīz tā norāda apmeklētājus uz jaunajiem failiem. Tas ir standarta veids, kā iegūt gan ilgu kešatmiņu, gan svaigus atjauninājumus.
Saziņas forma ir citāda. Tās iesniegumi katru reizi nonāk serverī; tie nekad nedrīkst tikt saglabāti kešatmiņā.
Ko glabāt kešatmiņā un ko ne
| Parasti glabāt ilgi | Parasti glabāt īsi | Nelabot kopīgā CDN kešatmiņā |
|---|---|---|
| Attēli, fonti, video | Publiskas vietnes HTML lapas | Pieteikušos lietotāju lapas, paneļi |
| JavaScript un CSS ar hash nosaukumiem | Publiskie API dati, kas reizēm mainās | Viss ar personas datiem |
| Lejupielādējami faili, kas reti mainās | Formu iesniegumi, maksājumi, jebkurš POST pieprasījums |
Galvenie termini
| Termins | Nozīme |
|---|---|
| Origin | Jūsu galvenais serveris vai hosts, kur atrodas īstie faili. |
| Edge / PoP | CDN vieta, kas apkalpo tuvumā esošus apmeklētājus. |
| Cache hit / miss | Malas serverim fails bija / tam bija jāpaņem no avota. |
| TTL | Time to live — cik ilgi kešatmiņas kopija tiek glabāta. |
| Cache-Control header | Instrukcija, ko jūsu serveris nosūta, norādot, vai un cik ilgi kaut ko drīkst glabāt kešatmiņā. |
| Purge / invalidate | CDN liek nekavējoties izmest kešatmiņas kopijas. |
| Cache busting | Faila nosaukuma vai URL maiņa, kad tas mainās, lai kešatmiņas paņemtu jauno versiju. |
| Latentums | Aizkave, ko izraisa attālums un tīkla posmi. |
Plašāk par kešatmiņu — pārlūkprogrammās, serveros un datubāzēs — skatiet kas ir kešatmiņa.
Biežākie nepareizi priekšstati
- „CDN padara visu ātrāku.” Tas paātrina failu piegādi. Lēns datubāzes vaicājums vai lēna AI izsaukšana jūsu serverī joprojām ir lēna.
- „CDN aizstāj hostingu.” Tas atrodas pirms jūsu hostinga. Jums joprojām vajag avotu.
- „Ja atjaunināju vietni, visi to redz uzreiz.” Vecās kopijas var uz brīdi palikt CDN un pārlūkprogrammās. Pārbaudiet ar pilnīgu pārlādēšanu un izmantojiet hash failu nosaukumus.
- „Kešatmiņa vienmēr ir droša.” Personalizētas lapas saglabāšana kopīgā kešatmiņā ir reāls privātuma risks. Privātās atbildes jāatzīmē kā nesaglabājamas kešatmiņā.
- „CDN ir domāti tikai lielām kompānijām.” Daudzi hosti maziem vietnēm iekļauj vienu bez papildu pūlēm.
Ko prasīt no sava AI veidotāja
- „Vai šīs vietnes priekšā ir CDN? Kurus failus tas glabā kešatmiņā un cik ilgi?”
- „Pārliecinies, ka izveidotajam JavaScript, CSS un attēliem ir hash failu nosaukumi un ilgs kešatmiņas laiks, bet HTML ir īss.”
- „Nekad nesaglabā pieteikušos lietotāju lapas vai API atbildes ar personas datiem kopīgā kešatmiņā.”
- „Saspied un pielāgo attēlu izmērus, lai galerija ielādētos ātri.”
- „Es publicēju atjauninājumu, bet joprojām redzu veco versiju — vai tā ir pārlūkprogrammas kešatmiņa vai CDN?”
CDN un Mythex
Kad publicējat Mythex, statiskās priekšējās daļas tiek izvietotas kā statiskas vietnes, un dokumentācijā ir norādīts, ka CDN kešatmiņas pēc atjauninājuma var kavēties uz brīdi: ja pēc atkārtotas publicēšanas joprojām redzat veco versiju, veiciet publiskā URL pilnu pārlādēšanu. Tam nekas nav jākonfigurē. Ja pievienojat pielāgotu domēnu, kura DNS atrodas Cloudflare, dokumentācija prasa ierakstu iestatīt uz „DNS only”, nevis proxied, lai Mythex pareizi izsniegtu HTTPS. Skatiet kā publicēt un pielāgotos domēnus dokumentācijā, kā arī mūsu ceļvedi par tīmekļa hostingu.
Jautājumi
Kas ir CDN vienkāršos vārdos?
CDN (satura piegādes tīkls) ir serveru tīkls daudzās vietās, kas glabā jūsu vietnes failu kopijas. Apmeklētājiem saturs tiek piegādāts no vietas, kas atrodas tuvu viņiem, nevis no jūsu galvenā servera, tāpēc lapas ielādējas ātrāk un jūsu serverim ir mazāk darba.
Kāpēc pēc atjaunināšanas joprojām redzu vecāku vietnes versiju?
Parasti tāpēc, ka vecā faila kopija ir saglabāta kešatmiņā — CDN, pārlūkprogrammā vai abās vietās. Pilnīga pārlādēšana atrisina pārlūkprogrammas daļu; CDN kopijas beidzas pašas vai tās var notīrīt. Būvēšanas rīki lielāko daļu no tā novērš, dodot mainītiem failiem jaunus nosaukumus.
Vai mazai vietnei ir vajadzīgs CDN?
Bieži jums tāds jau ir, pat ja neesat to izvēlējies, jo daudzas hostinga platformas automātiski novieto CDN priekšā vietnēm. Ja jūsu nav un apmeklētāji ir izkliedēti pa valstīm, tā pievienošana parasti ir vērta.
Vai CDN var saglabāt kešatmiņā manas lietotnes datus un pieteikušos lietotāju lapas?
Tas var saglabāt kešatmiņā visu, ko tam atļauts, tāpēc tas jāiestata uzmanīgi. Publiski faili, piemēram, attēli, skripti un stili, ir ideāli. Personiskais vai pieteikušos lietotāju saturs parasti nedrīkst tikt saglabāts kopīgā CDN, citādi viens lietotājs varētu redzēt cita datus.