CDN խաղերի և ասացվածքների համար 'TTFB նվազում ամբողջ աշխարհում
1) Ի՞ նչ է «արագ» iGaming-ի համար, և որտեղ հաղթում ենք
Քննադատական UX կետերը
Լոբբին և լրատվամիջոցները (խաղերի իկոնիկները, գերազանցությունը, բանները) ակնթարթային ռենդեր են։- Փղի/հավի սեղանների գործարկումը նվազագույն ռեդիրետներ և բեռնումներ է։
- Ֆիդա/ցուցակներ (կոմպոզիցիաներ և խաղեր, կանոններ, թարգմանություններ) - էժան JSON-ը։
- Տեսահոլովակը/հեռարձակումը (թրեյլերներ, HMS/DASH սթրիմների համար);
- Ճակատի ստատիկ ասպետները (JS/CSS/տառատեսակներ)։
Ռուսական ուղեցույցները (իրական գլոբալ ծածկույթի դեպքում)
Global TTFB: 35150-250 Ms ստատիկի վրա, 300-400 մզ դինամիկայի վրա, որը կատակված է edge;
Time-to-First-Spin (TTSA): 38800 մզ պրովայդերի առաջին պահանջին (ռենդեր լոբբիից հետո);
p95 նկար բեռնելը '24200 մզ։
2) CDN շերտի ճարտարապետությունը 'արտադրողականության «կարկանդակ»
1. Anycase PoP-ը ամբողջ աշխարհում 'մոտակա խաղահրապարակի մեքենա, RTT նվազեցում։
2. Tiered cache + Origin Shield: PoP 240 www.cash 241-2 shield հանգույց origin-ի առջև, որպեսզի մարի «պրոմախ փոթորիկները»։
3. Multi-origin: 105-105 կամ 105-standbay (EU/US/APAC), health-ստուգումներ և խելացի ռոուտինգը։
4. Edge գործառույթները 'թեթև տրամաբանություն մինչև origin (A/B, geo, ստորագրություններ, URL/վերնագրերի նորմալացում)։
5. Private backbone CDN-ը լվանում է «վայրի» ինտերնետային միջուկը հեռավոր տարածքներում։
3) Քեշի ռազմավարությունը 'ինչ, որտեղ և ինչքա՞ ն։
Սկզբունքներ ՝ immutable որտեղ հնարավոր է կարճ TTL դինամիկայի համար, SWR (stale-while-revalidate) աճի տակ, դետերմինացված բանալիներ։
TTL մատրիցա (օրինակ)
Կարևոր է 'API-GET-ի համար, որ դուք քշում եք, օգտագործեք Surrogate-Control (CDN-ի համար) և կարճ' Cache-Control "(զննարկչի համար), որպեսզի զննարկիչը չօգտագործվի։
4) Քեշի վերնագրերն ու բանալիները ՝ նվազագույնի հասցնելով բացթողումները։
Kash-բանալին = «scheme + host + path + նորմալացված query + տատանումներ»։
Նորմալացրեք query կոդավորման կարգը, նետեք «աղբը» («utm _», «fbclid» և այլն)։- Վերնագրերի տարբերակները ՝ «Accept-Encoding» (Brotli/Zstd/Gzip), «Accept» (AVIF/WinP/JPEG), «DPR» (Client Hinae), «Acccept-Lept-Lange»
Վերնագրերի հանրաքվեն (imutable-ի համար)
Cache-Control: public, max-age=31536000, immutable
ETag: "sha256-<hash>"
Content-Encoding: 35# և/կամ zstd/gzip, տե՛ ս ներքևում
Vary: Accept-Encoding, Accept, DPR, Save-DataJSON-ի համար (105 և)
Cache-Control: public, max-age=60, stale-while-revalidate=300
Surrogate-Control: max-age=300, stale-while-revalidate=6005) Սեղմումը և լուծումը 'ավելի քիչ բայթ' TTFB-ից ցածր
HTTP/3 + QUIC-ը նվազեցնում է handshake-լատինականությունը, որը կապված է պարտքի կորստի հետ։
Brotli-ի համար (JS/CSS/JSON), 5-7 մակարդակները (CPU/օգուտ)։
Zstd (եթե աջակցվում է CDN) JSON/NDJSON-ի համար հիանալի ագրեսիա է ցածր ուշացման ժամանակ։- Pro P/AVIF պատկերների համար (Accept ')։
- Range-հարցումները տեսահոլովակի/մեծ ֆայլերի համար, որպեսզի չփորձեն ամեն ինչ։
6) Առաքում edge 'prefetch և խելացի լոբբի
Լոբբիի պրեֆեթը, երբ խաղի քարտը տեսանելի գոտում, բեռնում եք իկոն, կանոններ, փոքր «մանիֆեստ» պրովայդեր։
Early Hints (1922) և «preconnium» k CDN հոստներին։
Edge-ֆունկցիա-տաքացումը '«խաղն առաջին տեղում դնելով», տաքացրեք լավագույն իկոններն ու դելիգները մոտակա PoP շուկաներում։
Adaptive payload: թեթև ցուցակներ (10-20 խաղեր) 3G/Save-Live-ում։
7) Origin Shield-ը և պաշտպանությունը «փոթորիկներից»
Միացրեք deduplicated fetch 'մեկ ուղևորություն դեպի origin հարյուրավոր զուգահեռ բացթողումների ժամանակ (coalescing)։
Jitter TTL (2420 տոկոսը) «միաժամանակյա» ռուսական մեծ բազմության համար։
Canary-Express-ը 'նոր դեղամիջոցներ և/կանոնները edge-2019-ի 5-10 տոկոսով մինչև գլոբալ հաշմանդամ։
Negative-cache (շատ կարճ, 1-5 s) '«404/204» -ի համար, նախքան սկսելը, որպեսզի չփորձի «ծեծել» origin-ը։
8) Գեո սահմանափակումները, լիցենզիաները և անվտանգությունը
Geo-fencing-ը երկրների համար լիցենզիայից դուրս 'արագ և չեզոք պատասխանը (403)։
Ստորագրված URL/կոկիկները մասնավոր բովանդակության համար (VIP նյութեր, բոնուսային ռեսուրսներ)։- Պաշտպանություն հյուրանոցներից և ռեֆերերից, WAF կանոնները PoP-ի համար API-GET-ի համար, որոնք քշում են (JSON-ի վալիդային սխեմա, IP/ASN-ի սահմանները)։
- TLS 1. 3, HSTS, OCMS stapling-ը CDN-ի առաջնագծերում։
9) Տարբերակումը և հաշմանդամությունը
Content-hash ֆայլերի անուններում '
JSON/108 և/բանները 'իրադարձական հաշմանդամություն (webhook CBS/adminks) + top-2019։
Խուսափեք գլոբալ purge; արեք կետային purge ըստ նախածննդյան/teges։
10) Տեսահոլովակը և սթրիմները ՝ HMS/DASH CDN-ում։
Կարճ հատվածներ (2-4 s) + # EXT-X-MS FETCH "/Low-Latency HMS-ի աջակցությամբ։
Tiered cache-ը PoP-ի միջև հատվածների համար; «Cache-Corl: public, max-age = 2400»։
Տեղեկատվական-տարածաշրջանային պլեյլիստները (բիթրեյթի տարբերակները) և տեղական ենթատետրերը։ Range-friendly.
11) Խաղերի պրովայդերների առանձնահատկությունները
Մետատվական պրովայդերը (ցուցակներ, լիմիտներ, լոկալներ) - JSON-ը 'SWR-ի հետ։- Իկոնիկները և պրո-մեդիա պրովայդերը 're-host իրենց CDN-2019-ում (որպեսզի չվնասեն իրենց դանդաղ origin-ից)։
- CDN օրինագծերի փամփուշտը (բայց առանց domain-sharding - HTTP/2/3 դա անհրաժեշտ չէ) - կիսեք մեծ տեսահոլովակներ/ստատիկ/API-ը քաղաքականության մեկուսացման համար։
12) Կանոնների օրինակ (կեղծ, edge գործառույթ)
js export default async (req) => {
//Req ստեղնաշարի նորմալացում։ url = normalizeQuery(req. Url, [«lang», «dpr», «v») ;//աղբի նետում
// Geofencing if (!isLicensed(req.geo. country)) return geoBlock();
//Signed III-ը մասնավոր նախածանցների համար if (req. path. startsWith('/vip/')) verifySignatureOr403(req);
//Քեշը քաղաքականության if (req. path. match(/\.(js    css    woff2)$/) && hasHash(req. path)) {
setHeader('Cache-Control','public, max-age=31536000, immutable');
} else if (req. path. endsWith('/games. json')) {
setHeader('Cache-Control','public, max-age=60, stale-while-revalidate=300');
setHeader('Surrogate-Control','max-age=300, stale-while-revalidate=600');
}
//Negotiae Encoding ([«www.ord», «zstd», «gzip»);
return fetchFromCacheThenOrigin(req);
}13) CDN և SLO Դիտարկումը
RUM 'հավաքեք «TTFB», «LCP», «first paint» տարածաշրջաններում/ցանցերում (Wi-Fi)։- Edge-metriks: hit/miss, shield hit-ratio, propachi նախածանցներով, ելքային կոդերի ծավալը, wwww.e4xx/5xx "։
- Ալբերտ 'hit-ratio անկում, TTFB աճը տարածաշրջանում, «փոթորիկ», «429 »/bot-ASN։
- Թրեյզներ 'նշանները wwww.origin են, որպեսզի տեսնեն, թե որտեղ է «այրվում»։
14) Արժեքը 'ինչպես չվճարել
Քեշիրուզը ծանր և տաք է (iconks/վիդեո/wwww.i) - նվազեցնում է egress origin-ից։- Նվազեցրեք կարդինալությունը (հեռացնել աղբի query/UA տատանումները)։
- Tiered cache-ը և տարածաշրջանային shield-ռուսական խնայում են backend հարցումները։
- Սեղմումը (Brotli/Zstd) նվազեցնում է միգրանտները։ AVIF/WindoP-ը նկարների համար մաշկ-հավ է։
15) Չեկ-թուղթ պատրաստակամություն
- Anycase CDN-ը ռուսական շուկաների ծածկույթով (EU, LatAm, MENA, APAC); Ներառված է HTTP/3։
- Immutable ասացվածքներ բովանդակությամբ; «Cache-Corl: max-age = 1y, imutable»։
- Tramp/JSON - SWR + Surrogate-Corl, TTL 30-300 s, կետային հաշմանդամություն CBS-ից։
- Tiered cache + Origin Shield, coalescing, TTL-jitter.
- Express: AVIF/WindoP, Brotli/Zstd, Range տեսահոլովակի համար։
- Edge գործառույթները 'query նորմալացում, geo ֆիլտրեր, որոնք ստորագրվել են URL, A/B-ի կողմից։
- Geo-սահմանափակումը և WAF-ը PoP-ում; HTTPS-ը միայն (HSTS), TSA 1-ը։ 3.
- Դիտարկումը 'RUM TTFB/LCP, hit-ratio, տարածաշրջանային ալտերտեր։
- Մեղքի ընթացակարգերը պրոմո/ստրիմ, կանարեկուլային կափարիչներ։
- Քեշը, հաշմանդամության քաղաքականությունը և runbook «փոթորիկը»։
Ռեզյումե
Աշխարհի TTFB-ն իսկապես նվազեցնելու համար օգտագործեք Anycript + tiered cache + origin shield, պատրաստեք immutable ամբողջ տարբերակի համար, օգտագործեք SWR-ը դինամիկ ցուցակների համար, կտրեք բայթերը (Brotli/Zstd, AVIIF P) նորմալացրեք բանալիները, ավելացրեք գեո ֆիլտրերը և ստորագրությունները։ Տաքացրեք լավագույն խաղերը պրոմոյի առջև, չափեք TTFB/LCP-ը RUM-ի միջոցով և պահեք hit-ratio վերահսկողությունը, այնպես որ լոբբին անմիջապես բացվում է, խաղերը սկսում են առանց դադարի, իսկ origin մնում է սառը և էժան։
