GH GambleHub

CDN жана edge кэш

CDN жана edge кэш

1) Максаттар

CDN (Content Delivery Network) жашыруун жана оригиналдуу жүктү азайтат: edge түйүндөрүндөгү статикалык жана шарттуу динамикалык мазмунду кэш, масштабды, туруктуулукту жана коопсуздукту камсыз кылат (DDoS/WAF), edge логикасын кошот (жоопторду/суроо-талаптарды кайра жазуу, аутентификация, A/B).

2) Кэш модели жана ачкычтар

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

сунуш кылынат:
  • query ('utm _' алынып салынсын, 'v', 'lang', 'country' ж.б.).
  • Минималдаштыруу 'Vary' (мисалы, 'Vary: Accept-Encoding, Accept-Language'), качуу 'Vary:'.
  • API үчүн - маршруттун ачкычы + ID версиясы (semver, hash, build id) + керектүү query/headers (мисалы, 'X-Tenant').
  • Жекелештирилген барактар үчүн - edge-сегментация (cookie/гео) же Skip-Cache.

3) TTL саясаты жана аталыштары

Негизги аталыштар:
  • `Cache-Control: public, max-age=300, s-maxage=3600, stale-while-revalidate=60, stale-if-error=300`
  • 'Surrogate-Control' (эгер колдоого алынса) - бул CDN үчүн браузерден башка өзүнчө саясат.
  • 'ETag '/' Last-Modified' - шарттуу суроо-талаптар (304) жана трафикти үнөмдөө.
  • Жеке менчик үчүн: 'Cache-Control: private, no-store', эгер кэш мүмкүн болбосо.
  • кэш жол API: 'Cache-Control: public, s-maxage = 60' + версия ачкычы.

Сунушталган ыкма: "түбөлүк" ресурстар (файлдын аталышында fingerprint менен) → 'max-age = 31536000, immutable'; "барактар/JSON" → кыска TTL + SWR.

4) майыптыгы: purge/soft-purge

Purge by URL: так.
Purge by tag/key: топтук тазалоо (колдонуңуз 'Surrogate-Key: products: 42 category: food').
Soft-purge: мазмунду "эскирген" деп белгилейт, edge жаңы версиясын алганга чейин stale берет.
"Жылуу" жылытуу: deploi кийин аймактардын негизги беттерин алып.

5) Аткаруу үлгүлөрү

Stale-While-Revalidate: тез жооп "эскирген" көчүрмөсү + арткы жаңыртуу.
Prefetch критикалык ресурстар (preload, preconnect, dns-prefetch).
Compression: gzip/br (текст үчүн), zstd CDN тарабынан колдоого алынган болсо.
HTTP/2/3 (QUIC): multiplexing жана аз латенттүүлүк.
TLS сессия resumption жана OCSP периметри боюнча stapling.

6) Сүрөттөр жана Videos

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 (борбордук кэш) "бороон" азайтуу үчүн.
Thumbnail кызматтары жана жеке сүрөттөр үчүн URLs белгиси.

7) коопсуздук периметри

WAF: OWASP эрежелери, өлкөлөрдү бөгөттөө/ASN, ачкыч менен rate-limits (IP + cookie + token).
DDoS: L3/4 scrubbing, L7-текшерүү, JS-чакырыктар/turnstile.
Кол коюлган жеке ресурстар үчүн URL/cookie (Video/отчеттор): TTL + HMAC/EdDSA.
Geo-fencing жана комплаенс (мисалы, аймактарга тыюу салуу).

8) Edge-compute (четинде логика)

Кейстер:
  • Персонализация без пробуксовки кэш: сегменттер (A/B), гео, тил боюнча edge, жана мазмун - кэш.
  • Жоопторду/аталыштарды кайра жазуу, редакторлор, AB-сплиттер.
  • Токендик аутентификация: JWT колтамгасын текшерүү, ачкычка байлоо.
  • Canary боюнча cookie/percent: трафиктин бир бөлүгү - жаңы backend.

Технологиянын мисалдары: Cloudflare Workers/Durable Objects, Fastly Compute @Edge, AWS Lambda @Edge.

9) Multi-CDN жана глобалдык периметри

Себептери: камтуу, SLA, наркы, аймактык чектөөлөр, окуяларды изоляциялоо.
GSLB/Traffic Steering: гео/latency/реалдуу каталар боюнча; бир нече vantage-пункттарынын ден соолук-текшерүү.
Бирдиктүү ачкычтар/аталыштар схемасы (Surrogate-Key), синхрондуу purge эрежелери.
Origin-shield бардык CDN үчүн жалпы болуп саналат "уруп" майыптыгы менен origin.

10) Логика жана метрика

Чогултуу:
  • Hit ratio (cache, CDN → edge/origin), byte hit ratio.
  • Latency p50/p95/p99, error-rate код/маршрут боюнча.
  • Origin fetches: RPS/байт/каталар (ашыкча каталарды коргоо).
  • Аймактык графиктер (POP/ASN/өлкө боюнча).
  • Observability менен бириктирүү: Prometheus (экспортерлор аркылуу pull), Grafana/OTel (edge-логдордон push).

11) SEO и SPA/SSR

SWR жана кыска TTL менен SEO барактар ​ ​ - тез жана "жаңы".
Sitemap/robots - көпкө кэш, бирок soft-purge жол.
Кызмат Worker: оффлайн кэширование, префетч критикалык жолдор, максаттуу жаңыртуулар.

12) Конфигурациялардын жана аталыштардын мисалдары

12. 1 Cache-Control профилдери

fingerprint менен статика:

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 (кэш дисплей):

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

12. 2 NGINX (origin) - нормалдаштыруу 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 жана ачкычтар

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 - кол коюлган 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 - гео параметрлери

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) Жеке маалыматтар жана API

Эч качан жеке жоопторду ачкычты изоляциялоосуз кэш кылбаңыз (per-user/per-token).
Signed Cookies/Headers жана 'Vary: Authorization' колдонуңуз, катуу көзөмөл менен гана (болбосо - cache-bust).
Коопсуз альтернатива: коомдук катмарды (кэш) жана жеке инклюдаларды (ESI/edge-композиция) бөлүү.

14) Гео/мазмун эрежелери

Лицензиялык чектөөлөр: geo-deny боюнча edge, playsholders ордуна origin бөгөт коюу.
Курактык/жөнгө салуучу баннерлер - edge боюнча рендер (кэш тешип жок).

15) Анти-үлгүлөрү

'no-cache, no-store' бүт сайт үчүн → CDN эффектин жоготуу.
туруксуз аталыштары боюнча 'Vary' (мисалы, 'User-Agent') → кардиналдуулук.
Ар бир релизде кэштин баарын тазалоо.
SWR жок кыска TTL → origin боюнча "бороон".
Жеке баракчалар сегментация/токен ачкычтары жок кэшделет.
origin-shield → бир нече параллелдүү каталар жок.

16) киргизүү чек-тизмеси (0-45 күн)

0-10 күн

Ресурстарды категориялаштыруу: статика (immutable )/HTML/API.
gzip/br, HTTP/2/3, query нормалдаштыруу, 'Surrogate-Key' кирет.
SWR/IFE жана негизги purge киргизүү.

11-25 күн

Edge-сүрөттөрдү оптималдаштыруу (resize/format), origin-shield.
жеке медиа үчүн URL кол, WAF/DDoS профилдери.
Dashbord: hit ratio, origin fetches, p95 боюнча POP.

26-45 күн

Multi-CDN же GSLB стратегиясы, периметри боюнча канар салмагы.
Сегментация/АВ/гео үчүн Edge-compute, ачкычтар боюнча soft-purge.
Авто-жылытуу жана purge CI/CD интеграциясы.

17) Жетилүү метрикасы

Byte hit ratio ≥ 85% статика үчүн, ≥ 60% HTML/шарттуу динамикасы үчүн.
Origin RPS чокуларында туруктуу (эч кандай "бороон").
p95 TTFB негизги аймактарда ≥ 30% га төмөндөтүлгөн.
Инциденттерде stale жоопторунун%> 90% (колдонуучу дээрлик байкаган жок).
Толук автоматташтыруу purge-ачкычтар релиз-paypline.

18) Корутунду

Натыйжалуу CDN контур ачкычтары/TTL/параметрлери, майыптык тартиби жана edge-логика болуп саналат. SWR/IFE, origin-shield, медиа оптималдаштыруу жана катуу коопсуздук (WAF, кол URL) кошуу. Стандартташтыруу өлчөө жана CI/CD менен purge бириктирип - жана сиз жогорку жүктөрдү жана "кара ак куулар" даяр тез, үнөмдүү жана туруктуу периметрин алат.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Telegram
@Gamble_GC
Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.