Texnologiyalar va infratuzilma → CDN tarmoqlari va kontentni keshlash
CDN tarmoqlari va kontentni keshlash
1) Nima uchun CDN va kesh
CDN (Content Delivery Network) RTT va TTFBni qisqartiradi, originni tushiradi va P95/P99 qoldiqlarini barqarorlashtiradi. iGaming/fintech uchun bu:- Katalog, assetalar, promo, media uchun tezkor birinchi bayt.
- Eng yuqori barqarorlik (turnirlar/iventlar) origin-quvvatlarning portlovchi o’sishisiz.
- Egress tejash va oldindan aytib bo’ladigan qiymat.
- Geo-nazorat (tartibga solish, kontentni litsenziyalash).
2) Kesh qilishning bazaviy strategiyalari
2. 1 Keshlash mumkin boʻlgan javoblar
Statika: JS/CSS/shriftlar/ikonkalar - uzun TTL (30-365 kun) + file-hash nomi.
Yarim statistika: o’yinlar kataloglari, bannerlar, konfiglar - TTL +’stale-while-revalidate’.
API GET/HEAD: ma’lumotnomalar, praysing, liderbordlar - qisqa TTL (5-120 sek) to’g "ri kalitli.
2. 2 Sarlavhalar
`Cache-Control: public, max-age=600, stale-while-revalidate=300, stale-if-error=600`
Shartli soʻrovlar uchun’ETag ’/’ Last-Modified’.
’Surrogate-Control ’/’ CDN-Cache-Control’ (agar provayder qoʻllab-quvvatlasa).
Shaxsiy maʼlumotlar uchun:’Cache-Control: no-store’(shunchaki’no-cache’emas).
2. 3 Kesh kaliti (cache key)
Asosiy: usul + URL-yo’l + javobga ta’sir qiluvchi query-parametrlar.
Qo’shimchalar:’Accept-Encoding’(gzip/br),’Accept’(json/webp/avif), lokal (’Accept-Language’), agar kontentga ta’sir etsa, mintaqa/valyuta.
Tasodifiy sarlavhalardan (cookies, trace ids) foydalaning.
3) Vary va kukilarni boshqarish
’Vary: Accept-Encoding, Accept, Accept-Language’ - minimal zarur to’plam.
Keshlash uchun CDN uchun stripping cookie: whitelisted (masalan, AB bayroqlari) dan tashqari hamma narsani olib tashlaymiz.
Session identifikatorlarini kesh qilinadigan kontentdan tashqari poddomen/yoʻllarga koʻchirish.
4) TTL patternlari va yangiligi
Immutable statika:’Cache-Control: public, max-age = 31536000, immutable’+ fayl nomidagi versiyalar.
SWRO/SIE:’stale-while-revalidate’va’stale-if-error’- origin muammolarida UX-barqarorlik.
Partitioned TTL: o’yinlarning ildiz ro’yxati - 30-60 sek; o’yin kartochkasi - 5-10 daqiqa; bannerlar - 30 daqiqa
API miks: bazaviy ma’lumotnomalar - 5-30 min; valyutalar/limitlar - 1-5 daqiqa; liderbord ― 2-15 sek.
5) Tiered caching и origin shield
Tiered/Regional caches: edge orqali oʻtgan soʻrovlar origin oʻrniga mintaqaviy «shield» ga oʻtadi.
Afzalliklari: origin MISS kamroq, «bo’ronlar» yumshatish, egress arzonroq.
Qalqonlarni eng yuqori trafik zichligi (EU, TR, BR, LATAM) bo’yicha guruhlang.
6) Nogironlik va isitish
Purge by path/prefix/tag: teglar paketli tozalash uchun qulay (katalog chiqarilishi, reklama kampaniyasi).
Soft purge (grace): kontentni eskirgan deb belgilaymiz, lekin yangisi kelguniga qadar beramiz.
Isitish (prewarm): reliz/turnirdan oldingi stsenariylar: ommabop yo’llarni so’rash, spraytlar va rasmlarning o’zgarishlarini yaratish.
Kanareya nogironligi: qisman tozalaymiz, metrik/xatolarni tasdiqlaymiz, keyin kengaytiramiz.
7) Edge-qoidalar va funksiyalar (Workers/Functions)
Javoblarni qayta yozish: kesh sarlavhalarini qoʻshish, «Vary» ni normallashtirish, stripping cookies.
Geo/ASN-routing: tahririyatlar, mahalliy/mamlakat bo’yicha valyuta.
Himoyalangan media/obʼektlar uchun URL imzosi (Signed URLs/Headers).
Edge-AB-testlar: engil, origin yuklamasdan (faqat statik/yarim statik uchun).
Edge-compute: yengil vidjet/personalizatsiya renderi, lekin issiq to’lov yo’li emas.
8) Tasvirlar va videolar
8. 1 Rasm
Avtokonversiya:’Accept’da WebP/AVIF;’Vary: Accept’.
edge boʻyicha resayzing: parametrlar’w/h/fit/quality’; presetlar (kartochka, banner, prevyu) tayyorlang.
Spraytlar va SVG-optimallashtirish, frontda lazy-loading.
8. 2 Video/oqim
Qisqa segmentli (2-4 sek) HLS/DASH, bir-birini qoplaydigan pleylistlar.
Preload eng yaqin segmentlar va’stale-if-error’.
Live-stavkalar uchun - TTFBni qisqartirish uchun segmentlarni mintaqaviy shield-da saqlang.
9) CDN orqali API
Keshlash GET:’Cache-Control’va toʻgʻri kalitni qoʻshing (lokal/valyuta/mintaqa).
Conditional GET:’ETag ’/’ If-None-Match’baytlarni va TTFBni pasaytiradi.
POST/PUT: keshlanmaydi; POST javoblarini faqat aniq qoidalar va idempotent semantika bilan keshlash mumkin (kamdan-kam hollarda oqlanadi).
Rate limiting/WAF chekkasida: botlarning/anomaliyalarning kesilishi hisobiga dumlarini pasaytiradi.
10) Xavfsizlik, kirish va komplayens
WAF/bot-menejment: signatura, xulq-atvor evristikasi, skaner bonuslaridan himoya qilish.
Media va shaxsiy yuklash uchun Signed URLs/Headers.
mTLS к origin и IP allow-list.
GDPR/PII/PCI: sezgir maʼlumotlarni keshlamang; shaxsiy javoblar bilan API -’no-store’.
Bozor regulyatorlari talablari bo’yicha chetdagi geo-filtrlar/blokirovkalar.
11) Tarmoq va bayonnomalar
CDN, TLS resumption va OCSP stapling HTTP/2/3 kiriting.
Matn formatlari uchun Brotli (br), gzip - fallback.
TCP/QUIC-tyuning (provayderda) → yo’qotishlarning, ayniqsa mobil tarmoqdagi ta’siri kamroq.
12) CDN uchun kuzatish va SLO
Metriklar (edge va shield boʻyicha):- Hit Ratio (overall va prefikslar bo’yicha), Origin Offload.
- TTFB P50/P95/P99 hududlar bo’yicha/ASN.
- Status kodlari boʻyicha Throughput/Errors (edge/origin).
- Purge latency (nogironlikni yetkazib berish vaqti).
- Rasm transform latency (agar chetdagi resayzingdan foydalansangiz).
- Oʻyinlar katalogi: TTFB P95 ≤ 150 ms, Offload ≥ 85%.
- Media (rasmlar): Hit Ratio ≥ 90%, transformatsiya xatolari <0. 1%.
- API GET «ma’lumotnomalar»: TTFB P95 ≤ 200 ms, Revalidation Hit ≥ 60%.
13) FinOps: kesh qiymati
Offload = origin bilan kamroq egress → to’g’ridan-to’g’ri $ -vigodlar.
Tiered + shield «bo’ronlar» va MISS yukini kesadi.
Rasmlarni optimallashtirish (AVIF/WebP/resize) trafikni tejashga imkon beradi.
Javobning ogʻirligi va «qimmatbaho MISS» (bayt P95 soni × mintaqa) × nazorat qiling.
14) Konfiguralar va qoidalar (parchalar)
14. 1 Origin sarlavhalari (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 Kalitni edge (psevdo) da normallashtirish
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 (g’oya)
/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path exp ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.
15) Reliz va foydalanish jarayonlari
Release hooks: deploydan keyingi taglar/prefikslar boʻyicha avtomatik purge.
Prewarm-ro’yxat: trafikning eng yaxshi yo’llari - oldindan isitish.
TTL matritsasi katalogi: mahsulot/marketing bilan kelishilgan.
Hodisalar: MISS/TTFB o’sganda - stale-if-error ni yoqamiz, origin barqarorlashmaguncha edge-dagi qimmatbaho transformatsiyalarni «olib tashlaymiz».
16) Joriy etish chek-varaqasi
1. Kontent xaritasi (statika/yarim statika/API) va TTL matritsasi.
2. ’Cache-Control’,’ETag/Last-Modified’,’Vary’tahrirlari.
3. Shovqinsiz kesh kaliti, cookie-stripping, whitelists.
4. Tiered caching + origin shield.
5. Taglar/prefikslar bo’yicha purge, soft purge, prewarm-protseduralar.
6. Edge funksiyalari: normallashtirish, geo-mantiq, Signed URLs.
7. Rasmlarni optimallashtirish (WebP/AVIF/resize), video uchun HLS segmentlari.
8. WAF/bot-filtrlar, geo-cheklovlar, mTLS k origin.
9. SLO-dashbordlari: TTFB, Hit Ratio, Offload, transformatsiya xatolari.
10. FinOps hisobotlari: $/GB, qimmatbaho MISS, egress bo’yicha etakchi mintaqalar.
17) Anti-patternlar
’no-cache’ hamma joyda «har qanday holatda».
Kesh kaliti barcha query/sarlavhalarni oʻz ichiga oladi → nol Hit Ratio.
Statika uchun kukiga bogʻliq javoblar (keshni butunlay buzadi).
Har bir chiqishda butun CDNni tozalash.
Choʻqqilardagi uzoq sinxron transformatsiyalar.
’stale-while-revalidate ’/’ stale-if-error’ ning yo’qligi - UX ning keskin tanazzullari.
Shaxsga doir ma’lumotlarni/javoblarni’no-store’siz keshlash.
18) iGaming/fintech konteksti: amaliy notalar
Turnirlar/tadbirlar: qisqa TTL peshqadamlar (2-10 sek) + SWR; o’yin va banner kartochkalari prewarm.
Geo-litsenziyalash: mamlakat bo’yicha edge-blokirovka/tahririyatlar, valyuta/kesh kalitidagi lokal.
Promo va kuponlar: banner/shartlarni keshlaymiz, lekin shaxsiy limitlarni emas.
Mas’ul o’yinlar: siyosat/limitlar sahifalari - SWR bilan yarim statistika; shaxsiy ma’lumotlar - faqat’no-store’.
PSP/KYC vebxukki: CDN yoki keshsiz va qattiq taymautli edge-pass-through orqali emas.
Jami
Kuchli CDN strategiyasi - bu to’g’ri sarlavhalar va kesh kaliti, MISSni kamaytirish uchun tiered/shield, normallashtirish va himoya qilish uchun edge-funksiyalar, tez relizlar uchun nogironlik/isitish va SLO va FinOps bilan kuzatish. Ushbu printsiplarga rioya qilsangiz, siz tezkor va tejamkor perimetrga ega bo’lasiz, bu esa TTFBni foydalanuvchilar va hamkorlar uchun oldindan aytib bo’ladigan darajaga olib keladi.