Технология жана инфраструктура → CDN тармактары жана мазмунду кэшдоо
CDN тармактары жана мазмунду кэштоо
1) Эмне үчүн CDN жана кэш
CDN (Content Delivery Network) RTT жана TTFB кыскартат, origin түшүрөт жана P95/P99 куйруктарын турукташтырат. iGaming/fintech үчүн бул:- каталог үчүн тез биринчи байт, assets, промо, медиа.
- жогорку туруктуулук (турнирлер/иш-чаралар) эч кандай жарылуучу өсүш origin-кубаттуулугу.
- egress сактоо жана болжолдуу наркы.
- Гео-контроль (регуляторика, контентти лицензиялоо).
2) Базалык кэш стратегиялары
2. 1 жооп кэш болот
Статика: JS/CSS/ариптер/сөлөкөттөр - узун TTL (30-365 күн) + аты-жөнү менен file-hash.
Жарым статика: оюн каталогдору, баннерлер, конфигалар - TTL мүнөттөн саатка чейин + 'stale-while-revalidate'.
API GET/HEAD: колдонмолор, баалар, лидборддор - кыска TTL (5-120 сек) туура ачкычы менен.
2. 2 аталыштары
`Cache-Control: public, max-age=600, stale-while-revalidate=300, stale-if-error=600`
'ETag '/' Last-Modified' шарттуу суроолор үчүн (revalidation).
'Surrogate-Control '/' CDN-Cache-Control' (эгер провайдер колдосо).
Жеке маалыматтар үчүн: 'Cache-Control: no-store' (жөн эле 'no-cache' эмес).
2. 3 Кэш ачкычы (cache key)
Негизги: ыкма + URL-жол + жооп таасир query-параметрлери.
Кошумчалар: 'Accept-Encoding' (gzip/br), 'Accept' (json/webp/avif), жергиликтүү ('Accept-Language'), мазмунга таасир этсе аймак/валюта.
Кокус аталыштардын (cookies, trace ids) ачкычына кирүүдөн алыс болуңуз.
3) Vary башкаруу жана кукилер
'Vary: Accept-Encoding, Accept, Accept-Language' - минималдуу керектүү комплект.
Cashable жолдор үчүн CDN боюнча Stripping кукилер: whitelisted (мисалы, AB-желектери) башка баарын алып салуу.
session идентификаторлорун кэш мазмунунан тышкаркы поддомендерге/жолдорго өткөрүү.
4) TTL үлгүлөрү жана сергектик
Immutable статикасы: 'Cache-Control: public, max-age = 31536000, immutable' + файлдын аталышындагы версиялар.
SWRO/SIE: 'stale-while-revalidate' жана 'stale-if-error' - origin көйгөйлөрүндө UX-туруктуулук.
Partitioned TTL: оюндардын тамыр тизмеси - 30-60 сек; карточка оюн - 5-10 мин; баннерлер - 30 мин.
API аралаш: негизги маалымдамалар - 5-30 мин; валюталар/лимиттер - 1-5 мин; лидборд ― 2-15 сек.
5) Tiered caching и origin shield
Tiered/Regional caches: edge өткөн суроолор ордуна origin аймактык "калкан" менен согушат.
Артыкчылыктары: origin боюнча MISS аз, тегиздөө "бороон", арзан egress.
Калкан жогорку тыгыздыгы менен гео топтоо (EU, TR, BR, LATAM).
6) Майыптык жана жылуулук
Purge by path/prefix/tag: tags пакеттик тазалоо үчүн ыңгайлуу (каталогу бошотуу, жарнамалык кампания).
Soft purge (grace): эскирген мазмунду белгилөө, бирок жаңы келгенге чейин берет.
Жылытуу (prewarm): чыгаруу/турнир алдында Script: популярдуу жолдорду сурамжылоо, Sprights жана сүрөттөрдүн өзгөрүүлөрүн түзүү.
Канар майыптыгы: жарым-жартылай тазалап, метрика/каталарды тастыктап, андан кийин кеңейтүү.
7) Edge эрежелери жана функциялары (Workers/Functions)
Жоопторду кайра жазуу: кэш аталыштарын кошуу, 'Vary' нормалдаштыруу, стриппинг кукилери.
Geo/ASN-роутинг: редакторлор, жергиликтүү/өлкө боюнча акча.
Кол URL (Signed URLs/Headers) корголгон медиа/объекттер үчүн.
Edge-AB-тесттер: жарык, origin боюнча жүк өсүшү жок (статикалык/жарым статикалык үчүн гана).
Edge-compute: render жарык widget/персоналдаштыруу, бирок ысык төлөм жолу эмес.
8) Сүрөттөр жана Videos
8. 1 Сүрөттөр
Auto Conversion: кардардын 'Accept' боюнча WebP/AVIF; 'Vary: Accept'.
edge боюнча кайра иштетүү: параметрлери 'w/h/fit/quality'; даярдагыла (карточка, баннер, алдын ала).
Спрайттар жана SVG-оптималдаштыруу, фронтто lazy-loading.
8. 2 Видео/агым
HLS/DASH кыска сегменттер менен (2-4 сек), бири-бирин кайталаган ойнотмо тизмелер.
Preload жакынкы сегменттер жана 'stale-if-error'.
Live-коюмдар үчүн - TTFB кыскартуу үчүн аймактык shield сегменттерди сактап.
9) CDN аркылуу API
Кэш GET: кошуу 'Cache-Control' жана туура ачкыч (жергиликтүү/акча/аймак).
Conditional GET: 'ETag '/' If-None-Match' байттарды жана TTFB азайтат.
POST/PUT: кэш жок; POST жоопторун так эрежелер жана демпотенттик семантика менен гана кэштоого болот (сейрек негиздүү).
Rate limiting/WAF четинде: бут/аномалияларды кесип куйруктарын азайтат.
10) Коопсуздук, жеткиликтүүлүк жана комплаенс
WAF/бот-менеджмент: белгилер, жүрүм-турум evristics, сканер бонустарды коргоо.
медиа жана жеке жүктөмөлөр үчүн URLs/Headers белги.
mTLS к origin и IP allow-list.
GDPR/PII/PCI: сезимтал маалыматтарды кэш жок; жеке жооптор менен API - 'no-store'.
Geo-Filters/базар жөнгө салуучу талаптарга ылайык четинде бөгөттөө.
11) Тармак жана протоколдор
CDN HTTP/2/3 кирет, TLS resumption жана OCSP stapling.
Brotli (br) текст форматтары үчүн, gzip - fallback.
TCP/QUIC-тюнинг (провайдер) → өзгөчө мобилдик тармакта жоготуулардын таасири азыраак.
12) CDN үчүн байкоо жана SLO
Метрика (edge жана shield боюнча):- Hit Ratio (overall жана префикстер боюнча), Origin Offload.
- TTFB региондор боюнча P50/P95/P99/ASN.
- Статус коддору боюнча Throughput/Errors (edge/origin).
- Purge latency (майып жеткирүү убактысы).
- Image transform latency (эгер сиз четинде ресайзинг колдонсоңуз).
- Оюн каталогу: TTFB P95 ≤ 150 ms, Offload ≥ 85%.
- Медиа (сүрөттөр): Hit Ratio ≥ 90%, өзгөртүү ката <0. 1%.
- API GET "колдонмолор": TTFB P95 ≤ 200 ms, Revalidation Hit ≥ 60%.
13) FinOps: кэш наркы
Offload = origin менен аз egress → түз $ -vygods.
Tiered + калкан "бороон" жана MISS-жүктү кесип.
Сүрөттөрдү оптималдаштыруу (AVIF/WebP/resize) трафикти эң көп үнөмдөйт.
жооп жана "кымбат MISS" салмагы P95 контролдоо (байт × саны × аймак).
14) Конфиги жана эрежелер (фрагменттер)
14. 1 аталыштары origin (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 edge ачкычын нормалдаштыруу (псевдо)
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 белги URL (идея)
/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path exp ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.
15) чыгаруу жана иштетүү жараяндар
Release hooks: деплой кийин тегдер/префикстер боюнча автоматтык purge.
Prewarm-тизме: трафик/конверсия жолдору - алдын ала жылытуу.
Каталог TTL-матрица: продукт/маркетинг менен макулдашылган.
Инциденттер: MISS/TTFB өсүшү менен - stale-if-error күйгүзүү, origin турукташтырууга чейин edge боюнча кымбат трансформацияларды "алып салуу".
16) Киргизүү чек-тизмеси
1. Мазмун картасы (статика/жарым статика/API) жана TTL-матрица.
2. Туура 'Cache-Control', 'ETag/Last-Modified', 'Vary'.
3. "ызы-чуу" жок кэш ачкычы, cookies stripping, whitelists.
4. Аймактар боюнча Tiered caching + origin shield.
5. Тегдер/префикстер боюнча Purge, жумшак purge, prewarm-процедуралар.
6. Edge функциялары: нормалдаштыруу, гео-логика, URLs белгиси.
7. Сүрөттөрдү оптималдаштыруу (WebP/AVIF/resize), видео үчүн HLS сегменттери.
8. WAF/бот чыпкалар, гео-чектөөлөр, mTLS үчүн origin.
9. SLO-дашборддор: TTFB, Hit Ratio, Offload, өзгөртүү каталар.
10. FinOps отчеттор: $/GB, кымбат MISS, egress боюнча алдыңкы аймактар.
17) Анти-үлгүлөрү
'no-cache' бардык жерде "өзгөчө".
кэш ачкычы бардык query/баш → нөл Hit Ratio камтыйт.
Статика үчүн кукиге көз каранды жооптор (кэш толугу менен бузат).
Ар бир релизде бардык CDN тазалоо.
чокулары учурунда edge боюнча узак синхрондуу өзгөрүүлөр.
Жок 'stale-while-revalidate '/' stale-if-error' - кескин UX деградация.
Жеке маалыматтарды/жоопторду 'no-store' жок кэшдоо.
18) Контекст iGaming/Fintech: практикалык ноталар
Турнирлер/иш-чаралар: кыска TTL боюнча алдыңкы такталар (2-10 сек) + SWR; prewarm карта оюндар жана баннерлер.
Гео-лицензиялоо: edge-блоктор/өлкө боюнча редакторлор, кэш ачкычында валюта/жергиликтүү.
Промо жана купондор: баннерлерди/шарттарды кэштейбиз, бирок жеке лимиттерди эмес.
Жооптуу оюндар: Саясат/лимиттер барактары - SWR менен жарым статистика; жеке маалыматтар - бир гана 'no-store'.
PSP/KYC Webhook: CDN аркылуу эмес, же кэшсиз жана катуу таймауттар менен edge-pass-through.
Жыйынтык
Күчтүү CDN стратегиясы туура баш макалалар жана кэш ачкычы болуп саналат, tiered/shield MISS азайтуу үчүн, нормалдаштыруу жана коргоо, майып/жылытуу тез релиздер жана SLO жана FinOps менен байкоо үчүн өзгөчөлүктөрү. Бул принциптерди сактоо менен сиз чокуларга туруштук бере турган жана TTFBны колдонуучулар жана өнөктөштөр үчүн алдын ала айтууга боло турган тез жана үнөмдүү периметрди аласыз.