Տեխնոլոգիան և ենթակառուցվածքը www.CDN ցանցը և բովանդակության քեշինգը
CDN ցանցերը և բովանդակության քեշինգը
1) Ինչու՞ CDN և քեշ
CDN (Content Disivery Network) կրճատում է RTT և TTFB-ը, լցնում origin և կայունացնում է P95/P99 պոչերը։ IGaming/fintech-ի համար սա
Արագ առաջին բայթը ռուսական, ասսեթների, պրոմո, լրատվամիջոցների համար։
Պիկ կայունությունը (ռոտր/ivents) առանց origin հզորությունների պայթուցիկ աճի։
Տնտեսությունը egress-ը և կանխատեսելի արժեքը։
Գեո-վերահսկումը (կարգավորող, բովանդակության արտոնագրում)։
2) Կեշինգի հիմնական ռազմավարությունները
2. 1 Պատասխաններ, որոնք կարելի է կախել
Ստատիկա ՝ JS/CSS/տառատեսակներ/iconks - երկար TTL (30-365 օր) + 108-hash անունով։
Պոլուստատիկա 'կոմպոզիցիաներ և խաղեր, բանկերներ, դելիգներ - TTL րոպե մինչև ժամ + «stale-while-revalidate»։
API GET/HEAD 'գրողներ, քրոնսինգ, առաջնորդներ - կարճ TTL (5-120 վայրկյան) ճիշտ բանալին։
2. 2 Վերնագրեր
`Cache-Control: public, max-age=600, stale-while-revalidate=300, stale-if-error=600`
«ETag »/« Last-Modified» պայմանական հարցումների համար (revalidation)։
"Surrogate-Corol '/" CDN-Cache-Corl" (եթե պրովայդերը աջակցում է)։
Մասնավոր տվյալների համար '«Cache-Control: 108-store» (ոչ միայն «07-cache»)։
2. 3 Կեշի բանալին (cache key)
Հիմնական '+ URL ուղի + query պարամետրեր, որոնք ազդում են պատասխանների վրա։
Շվեյցարիա ՝ «Accept-Encoding» (gzip/2019), «Accept» (Json/webp/avif), բրենդային («Accept-Language»), տարածաշրջանը/արժույթը, եթե ազդում է բովանդակության վրա։
Խուսափեք պատահական վերնագրերի բանալին (cookies, trace ids)։
3) Vary-ի և տիկնիկների կառավարումը
«Vary: Accept-Encoding, Accept, Accept-Language» -ը նվազագույն անհրաժեշտ հավաքածու է։
Stripping cookie-ը CDN-ի վրա քշված ճանապարհների համար, մենք մաքրում ենք ամեն ինչ, բացառությամբ whitelisted-ի (AB դրոշների)։
Session-ֆոսֆատորների տեղափոխումը փոխարինումների/ճանապարհների մեջ, որոնք դուրս են քաշված բովանդակությունից։
4) Patterns TTL և թարմություն
Immutable statics: "Cache-Corl: public, max-age = 31536000, immutable '+ տարբերակները ֆայլի անունով։
SWRO/SIE: «stale-wile-revalidate» և «stale-if-error» - UX դիմադրությունը origin խնդիրների հետ։
Partitioned TTL: Խաղերի կորեական ցուցակը 30-60 վայրկյան է։ Խաղի քարտը հինգ-10 րոպե է; Banners - 30 նոյեմբերի
API խառնուրդ 'հիմնական տեղեկատու 5-30 րոպե; / լիմիտներ '1-5 րոպե; առաջնորդը 2-15 վայրկյան է։
5) Tiered caching и origin shield
Tiered/Regional caches: Հարցումները, որոնք անցել են edge-ի միջով, պայքարում են «shield» -ի փոխարեն origin-ի փոխարեն։
Առավելությունները 'ավելի քիչ MISS-ը origin-ում, «փոթորիկների» բացումը, ավելի էժան, քան egress-ը։
Վահանները խմբավորում են գեյո ամենամեծ խտությամբ (EU, TR, IV, LATAM)։
6) Հաշմանդամություն և մեղք գործելը
Purge by path/www.fix/www.fix: Թեգերը հարմար են փաթեթային մաքրման համար (թողարկումը), պրոմո-քարոզարշավը)։
Softpurge (grace): Մենք փակցնում ենք բովանդակությունը հնացած, բայց տալիս ենք մինչև նոր։
Progrev (prowarm): սցենարները դելտայում/առաջ 'հանրաճանաչ ճանապարհների հետազոտություն, սպրեյտների արտադրություն և նկարների տատանումներ։
Կանարյան հաշմանդամ, որը մասամբ մաքրվում է, մենք վալիդիում ենք մետրերը/սխալները, ապա ընդլայնում ենք։
7) Edge կանոնները և գործառույթները (Workers/Functions)
Պատասխանների վերաշարադրումը 'կեշի վերնագրերի ավելացումը, նորմալացումը' Vary ', stripping cookies։
Geo/ASN-routing: Redirets, Masterl/Tura երկրում։
URL (Signed CORS/Headers) ստորագրությունը պաշտպանված լրատվամիջոցների/օբյեկտների համար։
Edge-AB թեստերը 'թեթև, առանց origin բեռի աճի (միայն ստատիկի/կես)։
Edge-compation: Թեթև վիջեթների/կերպարների ռենդեր, բայց ոչ տաք հիբրիդային ճանապարհ։
8) Պատկերներ և տեսահոլովակներ
8. 1 Նկարներ
Ինքնավարություն 'Pro P/AVIF «Accept» հաճախորդի դեպքում; «Vary: Accept»։
Edge 'w/h/fit/quality> պարամետրերը։ պատրաստեք քաղցրավենիք (քարտը, դրոշը, գերազանցությունը)։
Սպրեյտները և SVG-օպտիմիզացիան, lazy-loading ճակատում։
8. 2 Տեսահոլովակ/հոսանք
HMS/DASH-ը կարճ հատվածներով (2-4 վայրկյան), որը փակվում է պլեիստներով։
Preload ամենամոտ հատվածները և «stale-if-error»։
2019-2019-ի համար պահեք հատվածներ www.shield-ում TTFB-ի կրճատման համար։
9) API-ն CDN-ի միջոցով
Քեշիրացված GET 'ավելացրեք «Cache-Control» և ճիշտ բանալին (wwww.l/tura/տարածք)։
Conditional GET: «ETag »/« If-None-Match» -ը նվազեցնում է բայթերը և TTFB-ը։
POST/POST: Նրանք չեն քշվում։ կարող եք կախել POST-ի պատասխանները միայն ակնհայտ կանոններով և գաղափարական իմաստությամբ (հազվադեպ արդարացված)։
Rate limiting/WAF-ը եզրին է.
10) Անվտանգություն, հասանելիություն և համադրություններ
WAF/բոտ կառավարում 'ազդանշաններ, վարքագծային էվրիստիկա, պաշտպանություն բոնուսների սկաներից։
Signed CORS/Headers լրատվամիջոցների և մասնավոր բեռնման համար։
mTLS к origin и IP allow-list.
GDPR/PII/PCI: չվնասել զգայուն տվյալները։ API-ն անձնական պատասխաններով '«07-store»։
Geo-ֆիլտրեր/արգելափակել եզրին շուկայի կարգավորիչների պահանջներով։
11) Ցանցը և արձանագրությունները
Միացրեք HTTP/2/3-ը CDN, TMS resumption և OCMS stapling-ում։
Brotli (105) տեքստային ձևերի համար, gzip-fallback-ը։
TCP/QUIC-թյունինգը (պրովայդերի մոտ) ավելի քիչ ազդեցություն ունի շարժիչների վրա, հատկապես բջջային ցանցում։
12) Դիտարկումը և SLO-ն CDN-ի համար
Մետրիկները (edge և shield)
Hit Ratio (overall և նախածանց), Origin Systload-ը։
TTFB P50/P95/P99 տարածաշրջաններում/ASN։
Throughput/Errors-ը կարգավիճակի կոդերով (edge/origin)։
Purge latency (հաշմանդամության առաքման ժամանակը)։
Image transform latency (եթե օգտագործում եք resizing եզրին)։
SLO օրինակներ
Խաղերի կատալոգը ՝ TTFB P95 24150, Systload 2485 տոկոսը։
Մեդիա (նկարներ): Hit Ratio 2490 տոկոսը, փոխակերպման սխալները <0։ 1%.
API GET «տեղեկատու» ՝ TTFB P95 24200 ms, Revalidation Hit 3660 տոկոսը։
13) FinOps: կեշի արժեքը
Syload = ավելի քիչ egress origin-ից ուղիղ դոլար։
Tiered + shield-ը կտրում է «փոթորիկները» և MISS բեռը։
Պատկերների օպտիմիզացումը (AVIF/WinP/resize) տալիս է ամենամեծ տնտեսությունը։
Վերահսկեք P95 պատասխանի քաշը և «թանկ MISS» (baitts nocol-col)։
14) Քրեյգները և կանոնները (բեկորները)
14. 1 վերնագիր origin (Nginx)
nginx статика с версионированием location ~ \.(css js woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
полустатика каталога location /catalog/ {
add_header Cache-Control "public, max-age=300, stale-while-revalidate=600, stale-if-error=600";
add_header Vary "Accept, Accept-Language";
}
14. 2 Ստեղնաշարի նորմալացում edge (կեղծ)
js addRule((req) => {
// очищаем шум req.cookies.clearExcept(['ab', 'locale']);
// ключ = method+path+критичные query key = `${req.method}:${req.path}?lang=${q.lang}¤cy=${q.cur}`;
req.setCacheKey(key);
req.setVary(['Accept', 'Accept-Encoding', 'Accept-Language']);
});
14. 3 Signed URL (գաղափար)
/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path exp ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.
15) Արտահանման և շահագործման գործընթացները
Releulthooks: Ավտոմատ purge tege/prefics-ից հետո։
Systwarm-ցուցակը 'օպտիկայի/փոխակերպման լավագույն ճանապարհները նախապես տաքացնելն է։
TTL-մատրիցի կատալոգը համաձայն է արտադրանքի/մարքեթինգի հետ։
Միջադեպերը 'MISS/TTFB աճի ժամանակ, միացրեք stale-if-error-ը, «նկարահանենք» թանկարժեք փոխակերպումները edge-ի վրա մինչև origin։
16)
1. Բովանդակության քարտեզը (ստատիկա/պոլուստատիկա/API) և TTL-մատրիցը։
2. Ճիշտ «Cache-Corl», «ETag/Lox-Modified», «Vary»։
3. Կեշի բանալին առանց «աղմուկի», cookie-stripping, whitelis)։
4. Tiered caching + origin shield տարածաշրջաններում։
5. Purge-ը թեորեմներով/նախածանցներով, sportpurge, warm ընթացակարգերով։
6. Edge ֆունկցիաները 'նորմալացում, geo-տրամաբանություն, Signed SNs։
7. Պատկերների օպտիմիզացումը (ProP/AVIF/resize), HMS հատվածները տեսահոլովակի համար։
8. WAF/բոտ ֆիլտրեր, geo-սահմանափակումներ, mTSA origin։
9. SLO-dashbords: TTFB, Hit Ratio, Systload, փոխակերպման սխալներ։
10. FinOps-զեկույցները ՝ դոլար/GB, թանկ MISS, egress-ի առաջնորդներ։
17) Anti-patterna
«07-cache» ամենուր «ամեն դեպքում»։
Կեշի բանալին ներառում է բոլոր query/վերնագրերը, որոնք ներկայացված են զրոյական Hit Ratio-ում։
Cookie-կախված պատասխաններ ստատիկայի համար (կոտրում է քեշը ամբողջովին)։
Ամբողջ CDN-ի մաքրումը յուրաքանչյուր պրոֆիլում։
Երկար սինխրոն փոխակերպումներ edge-ի վրա գագաթների ժամանակ։
«Stale-while-revalidate »/« stale-if-error» բացակայությունը UX-ի կտրուկ քայքայումն է։
Անձնական տվյալների/պատասխանների քեշինգը առանց «07-store»։
18) iGaming/fintech համատեքստը 'գործնական նոտաներ
Aleksra/ivents: կարճ TTL առաջնորդների վրա (2-10 վայրկյան) + SWR; www.warm խաղերի և դրոշների քարտեր։
Geo-արտոնագրում 'edge-արգելափակում/redirects ամբողջ երկրում, արտարժույթ/ռոտլ կեշի տեսքով։
Պրոմո և կտրոններ 'բանկեր/պայմաններ, բայց ոչ անձնական սահմաններ։
Պատասխանատու խաղեր 'քաղաքականության/լիմիտների էջեր' SWR-ի հետ կես թուղթ։ անձնական տվյալները միայն «07-store» են։
PMS/KYC webhuks: Ոչ CDN-ի միջոցով, կամ edge-pass-through առանց կեշի և կոշտ թայմաուտների։
Արդյունքը
Ուժեղ CDN ռազմավարությունը ճիշտ վերնագրեր և կեշի բանալին, tiered/shield նվազեցնելու համար MISS, edge գործառույթներ նորմալացման և պաշտպանության համար, հաշմանդամություն/տաքացում արագ ածխաջրածինների համար և SLO-ի և FinOps-ի հետ։ Այս սկզբունքները պահպանելիս դուք կստանաք արագ և տնտեսական պարիմետր, որը դիմակայելու է պիկի և կդարձնի TTFB կանխատեսելի օգտագործողների և գործընկերների համար։