O’yinlar va assetalar uchun CDN: dunyo bo’ylab TTFBni kamaytirish
1) iGaming uchun «tez» nima va qayerda yutamiz
Tanqidiy UX nuqtalari:- Lobbi va media (o’yinlar ikonalari, prevyu, bannerlar) - tezkor render;
- Slot/hayot-stolni ishga tushirish - minimal tahririyatlar va qo’shimcha yuklamalar;
- Firmalar/ro’yxatlar (o’yinlar kataloglari, qoidalar, tarjimalar) - arzon keshlanadigan JSON;
- Video/eshittirish (treylerlar, oqimlar uchun HLS/DASH);
- Frontning statik assetalari (JS/CSS/shriftlar).
- Global TTFB: ≤ 150-250 ms statik, ≤ 300-400 ms edge keshlanadigan dinamika;
- Time-to-First-Spin (TTFS): provayderning birinchi so’roviga 800 ms ≤ (lobbi renderidan keyin);
- p95 ikonkalarni yuklash: ≤ 200 ms.
2) CDN qatlami arxitekturasi: «pirog» unumdorligi
1. Dunyo bo’ylab Anycast PoP: eng yaqin maydonni avto-tanlash, RTTni kamaytirish.
2. Tiered cache + Origin Shield: PoP → mintaqaviy kesh → 1-2 shield-tugun origin oldida «xato bo’ronlar» ni o’chirish uchun.
3. Multi-origin: aktiv-aktiv yoki aktiv-stendbay (EU/US/APAC), health-tekshiruvlar va aqlli routing.
4. Edge funksiyalari: origin (A/B, geo, imzolar, URL/sarlavhalarni normallashtirish) gacha bo’lgan engil mantiq.
5. Private backbone CDN: uzoq hududlarda «yovvoyi» Internet yadrosini chetlab oʻtadi.
3) Kesh-strategiyalar: nima, qayerda va qancha
Printsiplar: mumkin bo’lgan joylarda immutable, dinamika uchun qisqa TTL, portlash uchun SWR (stale-while-revalidate), determinirlangan kalitlar.
TTL matritsasi (misol):Muhimi: siz kesh qilayotgan API-GET uchun Surrogate-Control (CDN uchun) va qisqa’Cache-Control’(brauzer uchun) dan foydalaning.
4) Sarlavhalar va kesh kalitlari: xatolarni minimallashtiramiz
Kesh-kalit =’scheme + host + path + normallashtirilgan query + variatsiyalar’.
query-parametrlar tartibini normallashtiring, «axlat» (’utm _’,’fbclid’va hokazo) tashlang.
Sarlavhalar bo’yicha variantlar:’Accept-Encoding’(Brotli/Zstd/Gzip),’Accept’(AVIF/WebP/JPEG),’DPR’(Client Hints),’Accept-Language’.
Manba tafsilotlari (immutable assetalar uchun):
Cache-Control: public, max-age=31536000, immutable
ETag: "sha256-<hash>"
Content-Encoding: br # va/yoki zstd/gzip, quyida qarang
Vary: Accept-Encoding, Accept, DPR, Save-Data
Cache-Control: public, max-age=60, stale-while-revalidate=300
Surrogate-Control: max-age=300, stale-while-revalidate=6005) Siqish va formatlar: baytdan kam - TTFBdan past
HTTP/3 + QUIC paketlarni yoʻqotishga chidamli handshake-latentlikni kamaytiradi.
Matn assetalari uchun Brotli (JS/CSS/JSON), 5-7 darajalar (CPU/foyda balansi).
JSON/NDJSON uchun Zstd (agar CDN qoʻllab-quvvatlansa) - past kechikishda juda yaxshi siqish.
Rasmlar uchun WebP/AVIF (’Accept’boʻyicha avtomatik tanlash).
Hamma narsani tortmaslik uchun video/katta fayllar uchun range soʻrovlari.
6) edge orqali yetkazib berish: prefetch va aqlli lobbi
Lobbidan prefetch: ko’rinadigan zonada o’yin kartochkasi paydo bo’lishi bilanoq - ikonkani, qoidalarni, provayderning kichik «manivestini» yuklang.
Early Hints (103) va’preconnect’CDN xostlariga.
Edge-funksiya-isitish: «Biz o’yinni birinchi o’ringa qo’ydik» voqeasi bo’yicha - yaqin atrofdagi PoP bozorlarida top-ikonka va konfiguralarni isiting.
Adaptive payload: 3G/Save-Data mobilga engillashtirilgan roʻyxatlarni (10-20 oʻyin) yuboring.
7) Origin Shield va «o’tkazib yuborilgan bo’ronlar» dan himoya qilish
Detuplicated fetchni yoqing: yuzlab parallel xatolar (coalescing) bilan originga bitta sayohat.
Jitter TTL (20% dan ±) bir vaqtning oʻzida juda koʻp kalitlarning tugashi uchun.
Canary-relizlar: yangi kataloglar/qoidalarni global nogironga qadar 5-10% edge-trafikka chiqaring.
Negative-cache (juda qisqa, 1-5 s)’404/204’da originni «urmaslik» uchun.
8) Geo-cheklashlar, litsenziyalar va xavfsizlik
Geo-fencing litsenziyasiz mamlakatlar uchun edge - tezkor va neytral javob (403).
Shaxsiy kontent uchun imzolangan URL/kokiklar (VIP-materiallar, bonus-resurslar).
Hotlink va refererlardan himoya qilish, API-GET uchun PoP uchun WAF qoidalari (JSON valid sxemasi, IP/ASN limitlari).
TLS 1. 3, CDN front-domenlarida HSTS, OCSP stapling.
9) Versiyalash va nogironlashtirish
’app. 
JSON/kataloglar/bannerlar: hodisaviy nogironlik (webhook of CMS/adminka) + top-kalitlarning avto-isishi.
Global purge’dan qoching; prefiks/taglar boʻyicha nuqta purge.
10) Video va oqimlar: HLS/DASH CDN
Qisqa segmentlar (2-4 s) +’#EXT -X-PREFETCH ’/Low-Latency HLS tomonidan qo’llab-quvvatlanadi.
Segmentlar uchun PoP orasidagi tiered cache;’Cache-Control: public, max-age = 3600’.
Per-mintaqaviy pleylistlar (bitreit variantlari) va mahalliy subtitrlar; Range-friendly.
11) O’yinlar provayderlarining o’ziga xos xususiyatlari
Provayderning meta ma’lumotlari (ro’yxatlar, limitlar, lokallar) - JSON tomonidan «SWR» bilan kesh qilinadigan.
Ikonkalar va promo-media provayderi - o’zining CDN domenidagi re-host (ularning sekin originidan aziyat chekmaslik uchun).
CDN domen puli (lekin domain-sharding - HTTP/2/3 kerak emas) - siyosatni izolyatsiya qilish uchun katta videolarni/statik/APIlarni ajrating.
12) Qoidalar namunasi (psevdo, edge-funksiya)
js export default async (req) => {
//Req kalitining normallashuvi. url = normalizeQuery(req. url, [’lang’,’dpr’,’v’]) ;//chiqindi tashlash
// Geofencing if (!isLicensed(req.geo. country)) return geoBlock();
//Xususiy prefikslar uchun Signed URLs if (req. path. startsWith('/vip/')) verifySignatureOr403(req);
//If siyosati keshi (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');
}
//Kompresssiya negotiateEncoding ([’br’,’zstd’,’gzip’]);
return fetchFromCacheThenOrigin(req);
}13) CDN va SLO kuzatilishi
RUM: hududlar/tarmoqlar bo’yicha’TTFB’,’LCP’,’first paint’yig’inglar (mobil vs Wi-Fi).
Edge-metriklar: hit/miss, shield hit-ratio, prefikslar bo’yicha xatolar, chiqadigan trafik hajmi,’4xx/5xx’kodlari.
Alertlar: hit-ratio pasayishi, mintaqada TTFB o’sishi, «o’tkazib yuborish bo’roni»,’429 ’/bot-ASN ko’tarilishi.
Treyslar:’edge → shield → origin’belgilari.
14) Qiymati: qanday qilib ortiqcha to’lamaslik kerak
Og’ir va issiq (piktogrammalar/video/kataloglar) ni keshlang - origin’dan egress’ni kamaytiradi.
Kalitlarning ildizligini qisqartiring (axlat query/UA variantlarini olib tashlang).
Tiered cache va mintaqaviy shield-uzellar qoʻshimcha soʻrovlarni tejaydi.
Siqish (Brotli/Zstd) trafikni kamaytiradi; AVIF/WebP - rasmlar uchun mast-xev.
15) Mahsulot tayyorgarligi chek-varaqasi
- maqsadli bozorlarni qamrab olgan Anycast CDN (EU, LatAm, MENA, APAC); HTTP/3 yoqilgan.
- Kontent xeshli immutable assetalar;’Cache-Control: max-age = 1y, immutable’.
- Kataloglar/JSON - SWR + Surrogate-Control, TTL 30-300 s, CMS dan nuqta bilan nogironlik.
- Tiered cache + Origin Shield, coalescing, TTL-jitter.
- Formatlar: AVIF/WebP, Brotli/Zstd, video uchun Range.
- Edge funksiyalari: query normallashuvi, geo-filtrlar, imzolangan URL, A/B
- PoP-da Geo-cheklov va WAF; Faqat HTTPS (HSTS), TLS 1. 3.
- Kuzatish darajasi: RUM TTFB/LCP, hit-ratio, mintaqaviy alertlar.
- Promo/strim oldidan isinish tartib-taomillari, kanareya tuzilmalari.
- Kesh kalitlari, nogironlik siyosati va runbook hujjatlari.
Xulosa
Dunyo bo’ylab TTFBni haqiqatan ham kamaytirish uchun, Anycast + tiered cache + origin shield dan foydalaning, barcha versiyalarga immutable qiling, dinamik ro’yxatlar uchun SWR qo’llang, baytlarni kesing (Brotli/Zstd, AVIF/WebP) va edge - kalitlarni normallashtiring, geo-filterlar va imzolar qoʻshing. Reklama oldidan top o’yinlarni isiting, RUM orqali TTFB/LCP o’lchang va hit-rationi nazorat ostida saqlang - shunda lobbi darhol ochiladi, o’yinlar to’xtovsiz boshlanadi va origin sovuq va arzon bo’lib qoladi.
