GH GambleHub

CDN va edge keshlash

CDN va edge keshlash

1) Maqsadlar

CDN (Content Delivery Network) latentlik va origin yuklamasini kamaytiradi: edge-uzellardagi statik va shartli dinamik kontentni keshlaydi, ko’lami, barqarorligi va xavfsizligini ta’minlaydi (DDoS/WAF), edge-mantiqni qo’shadi (javoblarni/so’rovlarni qayta yozish, autentifikatsiyalash, A/B).

2) Keshlash modeli va kalitlari

Ключ кеша = `scheme + host + path +?(selected query params) + headers (Vary)`

Quyidagilar tavsiya etiladi:
  • Query (’utm _’chiqarib tashlansin,’v’,’lang’,’country’va hokazo qoldirilsin)
  • ’Vary’ ni minimallashtirish (masalan,’Vary: Accept-Encoding, Accept-Language’),’Vary:’dan qochish.
  • API uchun - yo’nalish kaliti + versiya identifikatori (semver, hash, build id) + kerakli query/headers (masalan,’X-Tenant’).
  • Shaxsiylashtirilgan sahifalar uchun - edge-segmentatsiya (cookie/geo) yoki Skip-Cache.

3) TTL siyosati va sarlavhalari

Asosiy sarlavhalar:
  • `Cache-Control: public, max-age=300, s-maxage=3600, stale-while-revalidate=60, stale-if-error=300`
  • ’Surrogate-Control’ (agar qoʻllab-quvvatlansa) - brauzerdan boshqa CDN uchun alohida siyosat.
  • ’ETag ’/’ Last-Modified’ - shartli so’rovlar (304) va trafikni tejash.
  • Xususiy uchun:’Cache-Control: private, no-store’, agar uni keshlash mumkin boʻlmasa.
  • Cache-Control: public, s-maxage = 60’+ versiyasi boʻyicha kalit.

Tavsiya etilgan yondashuv: «abadiy» resurslar (fayl nomidagi fingerprint bilan) →’max-age = 31536000, immutable’; «sahifa/JSON» → qisqa TTL + SWR.

4) Nogironlik: purge/soft-purge

Purge by URL: nuqta.
Purge by tag/key: guruhli tozalash (’Surrogate-Key: products: 42 category: food’dan foydalaning).
Soft-purge: kontentni «eskirgan» deb belgilaydi, yangi versiya olingunga qadar edge stale beradi.
«Issiq» isitish: deploydan keyin asosiy sahifalarni hududlardan tortib oling.

5) Unumdorlik edge-patternlari

Stale-While-Revalidate: «eskirgan» nusxada tezkor javob + fon yangilanishi.
Kritik resurslar prefetch (preload, preconnect, dns-prefetch).
Compression: gzip/br (matn uchun), agar CDN qoʻllansa zstd.
HTTP/2/3 (QUIC): multiplekslash va kamroq latentlik.
TLS session resumption va OCSP stapling perimetrda.

6) Tasvirlar va videolar

Image optimization at edge: resize/format negotiation (`Accept: image/avif,webp`), авто-WebP/AVIF, DPR-варианты.
Lazy-load и responsive (`srcset`, `sizes`).
Video: HLS/DASH, fragmented MP4, origin-shield (markaziy kesh).
Shaxsiy rasmlar uchun Thumbnail xizmatlari va signed URLs.

7) Perimetr xavfsizligi

WAF: OWASP qoidalari, mamlakatlarni blokirovka qilish/ASN, rate-limits (IP + cookie + token).
DDoS: L3/4 scrubbing, L7-chekerlar, JS-challengi/turnstile.
Shaxsiy resurslar uchun imzolangan URL/cookie (video/hisobotlar): TTL + HMAC/EdDSA.
Geo-fencing va komplayens (masalan, hududlarni taqiqlash).

8) Edge-compute (chetidagi mantiq)

Keys:
  • Keshni buzmasdan shaxsiylashtirish: segmentlar (A/B), geo, til edge, kontent esa keshlash.
  • Javoblar/sarlavhalarni qayta yozish, tahririyatlar, AB-splitlar.
  • Tokenning autentifikatsiyasi: JWT imzosini tekshirish, kalitga bogʻlash.
  • Canary boʻyicha cookie/percent: trafikning bir qismi - yangi backend.

Texnologiya namunalari: Cloudflare Workers/Durable Objects, Fastly Compute @Edge, AWS Lambda @Edge.

9) Multi-CDN va global perimetr

Sabablari: qoplash, SLA, qiymat, mintaqaviy cheklovlar, hodisalarni izolyatsiya qilish.
GSLB/Traffic Steering: geo/latency/real xatolar bo’yicha; bir nechta vantage nuqtalaridan health-checks.
Yagona kalit/sarlavha sxemasi (Surrogate-Key), sinxronlashtirilgan purge qoidalari.
Origin-shield barcha CDNlar uchun umumiy bo’lib, nogironlikda originni «urmaslik» uchun.

10) Logografiya va metrika

Yig’inglar:
  • Hit ratio (cache, CDN → edge/origin), byte hit ratio.
  • Latency p50/p95/p99, error-rate kod/yo’nalish bo’yicha.
  • Origin fetches: RPS/bayt/xatolar (ortiqcha xatolardan himoya qilish).
  • Hududiy grafiklar (POP/ASN/mamlakat boʻyicha).
  • Observability: Prometheus (eksport qiluvchilar orqali pull), Grafana/OTel (edge-loglardan push) bilan integratsiya qiling.

11) SEO и SPA/SSR

SWR va qisqa TTL bilan SEO sahifalari - tez va «yangi».
Sitemap/robots - uzoq vaqt kesh qiling, lekin soft-purge’ga ruxsat bering.
Service Worker: offline-keshlash, muhim yo’llar prefetch, maqsadli yangilanishlar.

12) Konfiguratsiyalar va sarlavhalar namunalari

12. 1 Cache-Control profillari

Fingerprint statikasi:

Cache-Control: public, max-age=31536000, immutable
HTML/SSR:

Cache-Control: public, max-age=60, s-maxage=600, stale-while-revalidate=60, stale-if-error=600
Surrogate-Control: max-age=600, stale-while-revalidate=120
API (kesh qilinadigan vitrin):

Cache-Control: public, s-maxage=60
Vary: Accept-Encoding

12. 2 NGINX (origin) - normallashtirish query/headers

nginx map $arg_utm_source $utm_skip { default 1; "" 0; }
map $args $normalized_args {
default "";
"~(^    &)v=([a-z0-9]+)(&    $)" "v=$2";
}
proxy_cache_key "$scheme://$host$request_uri?$normalized_args";
add_header Surrogate-Key "product:{{id}} category:{{cat}}";

12. 3 Fastly VCL - soft-purge va kalitlar

vcl sub vcl_recv {
set req. hash += req. http. host req. url. path;
set req. hash += querystring. decode(req. url, "v,lang");
if (req. method == "PURGE") {
if (req. http. Fastly-Soft-Purge) { softpurge; } else { purge; }
return (synth(200, "purged"));
}
}
sub vcl_deliver {
set resp. http. Surrogate-Key = "product:42 category:food";
}

12. 4 Cloudflare Workers - imzolangan URL

js export default {
async fetch(req, env) {
const url = new URL(req. url);
if (url. pathname. startsWith("/private/")) {
const token = url. searchParams. get("token");
if (!token! verify(token, env. SIGNING_KEY)) return new Response("Forbidden", { status: 403 });
}
return fetch(req);
}
}

12. 5 Lambda @Edge - geo-variantlar

js exports. handler = async (event) => {
const req = event. Records[0].cf. request;
const country = req. headers['cloudfront-viewer-country']?.[0]?.value          'US';
if (country === 'DE') req. headers['accept-language'] = [{ key:'Accept-Language', value:'de' }];
return req;
};

13) Xususiy ma’lumotlar va API

Hech qachon shaxsiy javoblarni kalitni izolyatsiya qilmasdan keshlamang (per-foydalanuvchi/per-token).
Signed Cookies/Headers va’Vary: Authorization’dan faqat qattiq nazorat ostida (aks holda cache-bust) foydalaning.
Xavfsiz muqobil: ommaviy qatlamni (kesh qilinadigan) va shaxsiy inklyudalarni (ESI/edge-kompozitsiya) ajrating.

14) Geo/kontent qoidalari

Litsenziya cheklovlari: geo-deny edge, pleysholderlar origin blokirovkasi o’rniga.
Yosh/tartibga soluvchi bannerlar - edge renderi (keshni yorib o’tmaslik).

15) Anti-patternlar

’no-cache, no-store’ butun sayt uchun → CDN effektini yoʻqotish.
Beqaror sarlavhalar boʻyicha’Vary’(masalan,’User-Agent’) → kardinallik.
Har bir chiqishda butun keshni tozalash.
SWR’siz qisqa TTL → origin’da «bo’ron».
Shaxsiy sahifalar segmentatsiya/token kalitlarisiz keshlanadi.
Origin-shield yo’qligi → bir nechta parallel xatolar.

16) Joriy etish chek-varaqasi (0-45 kun)

0-10 kun

Manbalarni toifalash: statika (immutable )/HTML/API.
gzip/br, HTTP/2/3, query,’Surrogate-Key’.
SWR/IFE va asosiy purge kiritilsin.

11-25 kun

Rasmlarni optimallashtirish (resize/format), origin-shield.
Shaxsiy media uchun imzolangan URL, WAF/DDoS profillari.
Dashbordlar: hit ratio, origin fetches, p95 bo’yicha POP.

26-45 kun

Multi-CDN yoki GSLB-strategiya, perimetrdagi kanar vazni.
/ AV/geo segmentatsiyasi uchun Edge-compute, kalitlar boʻyicha soft-purge.
Purge ni avtomatik isitish va CI/CDga integratsiyalash.

17) Etuklik metrikasi

Byte hit ratio ≥ statika uchun 85%, HTML/shartli dinamika uchun ≥ 60%.
Origin RPS choʻqqilarda barqaror («boʻron» yoʻq).
p95 TTFB asosiy hududlar boʻyicha 30% ≥ kamaytirildi.
Hodisalarda stale javoblarining%> 90% (foydalanuvchi deyarli sezmadi).
Reliz-payplaynda purge-kalitlarni toʻliq avtomatlashtirish.

18) Xulosa

CDN ning samarali konturi - bu kalitlar/TTL/variantlar, nogironlik intizomi va edge-mantiq. SWR/IFE, origin-shield, media optimallashtirish va qattiq xavfsizlikni (URL bilan imzolangan WAF) qoʻshing. Ko’rsatkichlarni standartlashtiring va purge’ni CI/CDga integratsiyalashtiring - va siz eng yuqori yuk va qora oqqushlarga tayyor bo’lgan tezkor, tejamkor va barqaror perimetrga ega bo’lasiz.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.