{"id":119898,"date":"2023-07-21T12:07:41","date_gmt":"2023-07-21T10:07:41","guid":{"rendered":"https:\/\/fotc.com\/?p=119898"},"modified":"2023-07-21T12:10:25","modified_gmt":"2023-07-21T10:10:25","slug":"cloud-cdn","status":"publish","type":"post","link":"https:\/\/fotc.com\/ro\/blog\/cloud-cdn\/","title":{"rendered":"Ce este Cloud CDN (content delivery network) \u0219i cum func\u021bioneaz\u0103?"},"content":{"rendered":"\n

Performan\u021ba website-ului este esen\u021bial\u0103 pentru a garanta experien\u021be de neegalat pentru utilizatori. Timpi len\u021bi de \u00eenc\u0103rcare a paginii sau livrarea t\u00e2rzie a con\u021binutul pot fi \u00een detrimentul succesului unei afaceri. \u00cen astfel de condi\u021bii, se pot pierde poten\u021biali clien\u021bi, afect\u00e2nd reputa\u021bia brandului. Google Cloud CDN (Content Delivery Network) vine ca o solu\u021bie pentru astfel de incidente. Cloud CDN este o re\u021bea de servere distribuite \u00een diferite loca\u021bii a c\u0103ror sarcin\u0103 principal\u0103 este s\u0103 livreze rapid con\u021binut pe internet. Infrastructura CDN este cea care asigur\u0103 disponibilitatea ridicat\u0103 pentru tot acest con\u021binut. Cum?<\/p>\n\n\n\n

F\u0103r\u0103 CDN, avem de-a face cu un singur server sau cu un singur grup de servere \u00eentr-o singur\u0103 loca\u021bie fizic\u0103. S\u0103 o numim \u00een acest caz \u201esursa\u201d. Fiecare utilizator care caut\u0103 informa\u021bii stocate pe server trebuie astfel s\u0103 comunice direct cu sursa. Dac\u0103 destinatarul se afl\u0103 la mare dep\u0103rtare de surs\u0103, transferul va fi am\u00e2nat. \u0218tim foarte bine \u00eens\u0103 c\u0103 nimeni nu are r\u0103bdare \u00een peisajul digital de ast\u0103zi pentru un site web cu \u00eenc\u0103rcare lent\u0103.<\/p>\n\n\n\n

Mai simplu spus, infrastructura CDN copiaz\u0103 con\u021binutul original pe toate serverele disponibile din re\u021beaua sa. \u00cen acest fel, utilizatorii vor primi rapid con\u021binutul pe care l-au solicitat, indiferent de loca\u021bia lor. Nu e de mirare c\u0103 CDN este astfel un serviciu popular at\u00e2t printre juc\u0103torii mari din industrie, c\u00e2t \u0219i printre afacerile SMB. Este folosit de servicii globale de streaming (precum Netflix), de companii de e-comer\u021b (precum Shopify), precum \u0219i de proprietarii \u0219i creatorii de site-uri web mai mici.<\/p>\n\n\n\n

\"\"<\/figure><\/div>\n\n\n\n

Este Cloud CDN o solu\u021bie pentru afacerea voastr\u0103?<\/h2>\n\n\n\n

Dar ce se \u00eent\u00e2mpl\u0103 atunci c\u00e2nd utilizatorii no\u0219tri \u021bint\u0103 se afl\u0103 \u00een apropierea serverului? Mai este necesar CDN? Poate p\u0103rea inutil, deoarece distan\u021bele pe care trebuie acoperit\u0103 livrarea de con\u021binut sunt mici.<\/p>\n\n\n\n

Important este c\u0103 CDN serve\u0219te fi\u0219iere stocate \u00een cache, nu fi\u0219iere direct din \u201esurs\u0103\u201d. Astfel, se elibereaz\u0103 sarcina de pe serverul surs\u0103, ceea ce \u00eenseamn\u0103 c\u0103 se poate gestiona traficul chiar \u0219i folosind un server cu specifica\u021bii mai mici. Chiar \u0219i cu o leg\u0103tur\u0103 \u00eengust\u0103 \u0219i direct\u0103 c\u0103tre server, CDN v\u0103 permite s\u0103 deservi\u021bi mai mul\u021bi clien\u021bi dec\u00e2t prin trafic direct.<\/p>\n\n\n\n

Dac\u0103 stoca\u021bi multe informa\u021bii confiden\u021biale pe site-urile web sau prevaleaz\u0103 con\u021binutul dinamic \u00een fa\u021ba celui static, atunci vorbim de alt scenariu. Vom \u00eenv\u0103\u021ba acest lucru analiz\u00e2nd mecanica modului \u00een care func\u021bioneaz\u0103 CDN.<\/p>\n\n\n\n

Cum func\u021bioneaz\u0103 CDN-ul?<\/h2>\n\n\n\n

Vom discuta despre func\u021bionarea CDN-ului folosind exemplul Google Cloud CDN, unul dintre cele mai populare servicii Google Cloud<\/a>. De fiecare dat\u0103 c\u00e2nd un utilizator trimite o solicitare c\u0103tre un site web sau o aplica\u021bie, cererea ajunge la cel mai apropiat nod Google Edge din cele peste 120 noduri din \u00eentreaga lume. Apoi trece la Echilibratorul de \u00eenc\u0103rcare HTTP(S) \u0219i la backend-ul original. Serverele din re\u021beaua Cloud CDN stocheaz\u0103 copii cache ale con\u021binutului original, permi\u021b\u00e2nd accesul rapid la acel con\u021binut.<\/p>\n\n\n\n

Cel mai adesea, fi\u0219ierele grafice, videoclipurile, JavaScript \u0219i CSS se g\u0103sesc pe serverele surs\u0103. Cloud CDN creeaz\u0103 automat cache-uri pentru con\u021binut static. \u00cen Google Cloud CDN, pute\u021bi chiar s\u0103 crea\u021bi o memorie cache pentru con\u021binutul marcat ca \u201eprivat\u201d, \u201ef\u0103r\u0103 cache\u201d sau \u201ef\u0103r\u0103 stocare\u201d. Desigur, aceasta este o caracteristic\u0103 op\u021bional\u0103 \u0219i nu trebuie neap\u0103rat utilizat\u0103. .<\/p>\n\n\n\n

Cache hit and miss<\/h3>\n\n\n\n

La primirea unei solicit\u0103ri, Cloud CDN interogheaz\u0103 memoria cache folosind o cheie cache<\/strong>, de obicei sub forma unei adrese URL. C\u00e2nd r\u0103spunsul revine din memoria cache dup\u0103 o astfel de solicitare, \u00eel numim cache hit<\/strong>.<\/p>\n\n\n\n

Cu toate acestea, pot exista cazuri \u00een care Cloud CDN nu g\u0103se\u0219te fi\u0219ierul solicitat, deoarece acesta nu este stocat \u00een cache. Denumim aceast\u0103 situa\u021bie cache miss<\/strong>. Acest lucru nu \u00eenseamn\u0103 \u00eens\u0103 c\u0103 utilizatorul nu prime\u0219te nimic \u00een urma solicit\u0103rii sale. \u00cen acest caz, Cloud CDN comunic\u0103 cu urm\u0103torul server pentru a verifica dac\u0103 informa\u021biile solicitate sunt disponibile acolo. Dac\u0103 g\u0103se\u0219te fi\u0219ierul corect pe unul dintre serverele urm\u0103toare, \u00eel trimite la serverul cache cel mai apropiat de client. Dac\u0103 fi\u0219ierul \u00een cauz\u0103 nu este prezent pe niciunul dintre serverele ulterioare, Cloud CDN transmite cererea utilizatorului c\u0103tre serverul original.<\/p>\n\n\n\n

\u00cen cazul pierderilor multiple de cache, rezultatul este identic cu situa\u021bia \u00een care nu folosi\u021bi deloc Cloud CDN. Totu\u0219i, aceasta este o situa\u021bie de ultim\u0103 instan\u021b\u0103 \u0219i, pe parcurs, se poate dovedi c\u0103 cererea prime\u0219te un r\u0103spuns mult mai rapid.<\/p>\n\n\n\n

C\u00e2t timp este p\u0103strat con\u021binutul meu \u00een cache?<\/h2>\n\n\n\n

Perioada de timp \u00een care un obiect r\u0103m\u00e2ne \u00een cache se nume\u0219te numit\u0103 Time to Live (TTL).<\/strong> TTL poate fi setat pentru fiecare r\u0103spuns HTTP \u0219i moduri cache. Dup\u0103 dep\u0103\u0219irea perioadei de timp specificate, memoria cache este \u0219tears\u0103.<\/p>\n\n\n\n

Este Cloud CDN potrivit doar pentru con\u021binut static?<\/h2>\n\n\n\n

Dup\u0103 cum am men\u021bionat anterior, CDN nu este cea mai bun\u0103 op\u021biune pentru volume mari de con\u021binut dinamic. Este \u00eens\u0103 acela\u0219i lucru valabil \u0219i pentru Cloud CDN? De\u0219i specializarea CDN au fost ini\u021bial fi\u0219ierele statice, acesta are tot mai mult succes \u00een accelerarea livr\u0103rii de con\u021binut dinamic c\u0103tre clien\u021bi.<\/p>\n\n\n\n

Ce este con\u021binutul dinamic<\/strong>? Acesta depinde de mai multe variabile \u0219i este afi\u0219at diferit pentru fiecare utilizator. Cel mai simplu exemplu este cel al unui magazin de comer\u021b electronic care creeaz\u0103 o list\u0103 de recomand\u0103ri pe baza istoricului de achizi\u021bii al clientului. Prin urmare, con\u021binutul afi\u0219at este adaptat preferin\u021belor fiec\u0103rui client. Personalizarea depinde \u00een acela\u0219i timp \u0219i de localizarea geografic\u0103 \u0219i de modific\u0103ri, dac\u0103 utilizatorul este deja logat \u00een cont sau navigheaz\u0103 \u00een modul incognito.<\/p>\n\n\n\n

Media CDN \u2013 o puternic\u0103 component\u0103 Cloud CDN<\/h2>\n\n\n\n

Pentru fluxuri de fi\u0219iere mari, inclusiv videoclipuri, Google pune la dispozi\u021bie Media CDN. Acest serviciu distribuie con\u021binut c\u00e2t mai aproape de loca\u021bia utilizatorilor, folosind infrastructura global\u0103 edge cache. Recuperarea materialelor de la punctele finale HTTP disponibile public se face u\u0219or, put\u00e2nd combina Media Cloud cu orice infrastructur\u0103 surs\u0103 existent\u0103. Pentru o astfel de situa\u021bie, nu conteaz\u0103 dac\u0103 con\u021binutul este g\u0103zduit \u00een Cloud Storage sau alt furnizor de cloud.<\/p>\n\n\n\n

Citi\u021bi \u0219i:<\/p>\n\n\n\n