GH GambleHub

CDN və latency reduction optimallaşdırılması

1) Məqsədlər və gecikmə xəritəsi

Latency = DNS + TCP/TLS + TTFB (server/origin/cache) + məzmun çatdırılması (RTT × həcmləri) + müştəri render.
Optimallaşdırma = RTT sayını azaltmaq, baytları azaltmaq və hesablama/cache istifadəçiyə daha yaxın köçürmək.

2) CDN arxitekturası

Anycast POPs - BGP marşrutlaşdırma üzrə yaxın qovşaq.
Tiered caching/Origin Shield - origin miss fırtınasını azaldan «çətirli» ara təbəqədir.
Geo-/Regional routing - tenant/yurisdiksiyanın bağlanması (verilənlərin suverenliyi, lisenziyalar).
Failover - ehtiyat origin/region, sağlamlıq testləri və sürətli keçid.

3) Cache: açarlar, başlıqlar, strategiyalar

3. 1 Keşin açarları (cache key)

Default: 'scheme + host + path +? query'.
Yalnız lazımi parametrləri əlavə edin ('? v =', '? lang =', '? tenant ='). Qalanları - ignore-params.
'Vary' - minimum: 'Accept-Encoding', 'Accept-Language' (əgər həqiqət lazımdırsa), 'Authorization' adətən cachı sındırır.

3. 2 Siyasət

Public statics: 'Cache-Control: public, max-age = 31536000, immutable' + rev (adında hash).
Yarı dinamika (kataloqlar, qaydalar, FAQ): 's-maxage = 300, stale-while-revalidate = 600, stale-if-error = 86400 '.
API-GET: ETag/Last-Modified, 'SWR/SIE' istifadə edin, coalescing (isti açar üçün bir sorğu) daxil edin.
Private: şəxsi cavablar - edge-compute (ESI/kv) və ya per-tenant cache vasitəsilə perimetrdə.

3. 3 Anti-fırtına

Request coalescing - eyni zamanda miss sorğular.
Serve-stale - origin uğursuzluğu zamanı köhnəlmiş obyekt vermək.
Background revalidation - fonda yeniləmək.

4) HTTP/2-3, TCP/TLS və erkən geri dönüş

HTTP/2: multiplex, başlıqların sıxılması; 'max concurrent streams', böyük başlıqları məhdudlaşdırın.
HTTP/3 (QUIC): mobil/yüksək itki TTFB böyük azalma; Initial-astanaları və Retry-ni izləyin.
TLS 1. 3: 1-RTT handshake; OCSP stapling; HSTS.
0-RTT: Yalnız idempotent 'GET' üçün və replay riskləri nəzərə alınarsa.
103 Early Hints: erkən 'Link: rel = preload' kritik resurslar üçün.
Preconnect / DNS-prefetch: `<link rel="preconnect" href="https://cdn. example">`.

5) Edge-compute və «incə personalizasiya»

Kənarda: başlıqların siyahıyaalınması, geo/tenant-fiksasiya, A/B-etiketləmə, origin sorğusu olmadan yüngül personallaşdırma.
Qayda: PII-ni POP qovşaqlarında saxlamayın; yalnız aqreqatları/ictimai məlumatları cache.

6) Media və formatların optimallaşdırılması

Şəkillər: WebP/AVIF-ə avtomatik çevirmə, resize-on-edge, 'srcset/sizes', 'lazyload'.
Kompres: Mətnlər üçün Brotli (HTML/CSS/JS/JSON), gzip fallback.
Video: HLS/DASH, CDN-segment caching, 'preload = metadata', afişa.
Şriftlər: subset + 'font-display: swap'; uzun cache ilə hosting.
Kritik CSS: ilk ekran inline; qalan - async.

7) API nümunələri və caching

Idempotent GET - sorğu açarları ilə (verilənlər versiyası daxil olmaqla) cache.
ETag: güclü yük hash + 'If-None-Match'.
«Cache-Control» müştərisindən fərqləndirmək üçün Surrogate-Control (CDN-spesifikasiyası).
Signed URLs - şəxsi statika/media üçün.
GraphQL: əməliyyat/dəyişkən cache açarını normallaşdırın; partial caching/rezolver cache istifadə edin.
WebSockets: real vaxt üçün - mesajları azaltın, sıxın (permessage-deflate), WS-şarları istifadəçiyə daha yaxın yerləşdirin.

8) Konfiqurasiya nümunələri

8. 1 NGINX (origin: API-GET cache)

nginx
We give SWR and ETag location/api/v1/catalog/{
proxy_cache api_cache;
proxy_cache_key "$scheme$request_method$host$uri$is_args$args";
proxy_cache_valid 200 5m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_503 http_504;
add_header Cache-Control "public, s-maxage=300, stale-while-revalidate=600, stale-if-error=86400";
add_header ETag $upstream_http_etag;
proxy_ignore_headers Set-Cookie; # do not break the Set-Cookie proxy_hide_header cache;
proxy_pass http://catalog;
}

8. 2 Fastly VCL (SWR, coalescing, ignore cookies)

vcl sub vcl_recv {
set req. hash_ignore_busy = true;   # coalescing if (req. url. qs ~ "^(?!.(lang    v)=)") { remove req. url. qs; }
if (req. http. Cookie) { remove req. http. Cookie; }
}

sub vcl_backend_response {
set beresp. ttl = 300s;
set beresp. stale_if_error = 86400s;
set beresp. stale_while_revalidate = 600s;
if (beresp. http. Set-Cookie) { unset beresp. http. Set-Cookie; }
}

8. 3 Cloudflare (Transform Rules, Cache Rules, Early Hints — псевдо)

json
{
"cache_rule": {
"if": "http. request. uri. path matches \"/assets/.\"",
"action": {"cache": {"eligibility":"eligible", "ttl": 31536000}}
},
"transform_rule": {
"set_headers": [{"name":"Cache-Control","value":"public, s-maxage=300, stale-while-revalidate=600"}]
},
"early_hints": {"enable": true}
}

9) Mobil şəbəkələr və «qeyri-sabit» internet

Aqressiv istifadə HTTP/3; kritik yolun ölçüsünü azaltın (HTML + critical CSS <14 KB).
Priority H2/H3: prioritet (HTML → CSS → JS → media sonra).
API üçün idempotency.
Size-budgets və bandling: code-splitting, deferred JS, istifadə olunmayan CSS/JS silmək.

10) Müşahidə və SLO

RUM: Regionlara görə TTFB, LCP, INP, CLS/ASN/tenant; p95/p99 paylanması.
Sintetika: POP-lar vasitəsilə «/health/cdn »nəzarət marşrutu.
Cache Metrics: hit-ratio overall və per-key; origin fetch rate; coalescing savings.
Alertlər: hit-ratio düşməsi, origin-egress böyüməsi, H3-pay deqradasiyası, 5xx shield.

11) iGaming/Maliyyə Xüsusiyyətləri

Oyun kataloqu/əmsalları: qısa 's-maxage '+ SWR; region-aware ключ (`tenant|region|lang`).
Hadisə zirvələri (matçlar, püşkatmalar): cache istiləşməsi (pre-warm), ağır fərdiləşdirmələrin «dondurulması», mirror mənbələri.
Ödəniş/kabinet: private cache deyil, lakin H3 + edge-TLS və yaxın region vasitəsilə sürətləndirmək.
Yurisdiksiyalar: bölünmüş domenlər/yollar per-region; nəzarət 'Vary: X-Region'.

12) Antipattern

'Vary:' hər şeyə; cache açarı lazımsız cookies/başlıqlar asılıdır.
Qısa origin nasazlıqları zamanı SWR/SIE → «qara ekranlar» yoxdur.
Etiketlərə/açarlara görə nöqtə əlilliyi əvəzinə «hər şey üzrə» cache təmizlənməsi.
Adları yoxlanılmamış resurslar və s 'max-age = 0'.
Hətta public verildiyi yerdə «Authorization» üçün qlobal deny-cache.
coalescing → origin fırtına yoxdur.
POP-da vaxtından əvvəl «ağır» personalizasiya.

13) Prod hazırlıq yoxlama siyahısı

  • Anycast POP + tiered/shield; sağlamlıq yoxlama və origin failover.
  • Cache açarları minimaldır; lazımsız query/cookies ignor; 'Surrogate-Control'.
  • SWR/SIE daxil, coalescing aktiv; serve-stale səhvlər.
  • HTTP/3 daxildir; TLS 1. 3; 103 Early Hints kritik resurslar üçün özelleştirilmiş.
  • Şəkillər: AVIF/WebP, resize-on-edge; Brotli mətnlər üçün.
  • API-GET с ETag/Last-Modified; idempotentlik/retraj; Şəxsi profilləri cache etməyin.
  • Statik domenlərə Preconnect; kritik CSS online.
  • Metriklər: hit-ratio, origin-egress, TTFB/LCP p95, H3-pay, regionlar/tenantlar üzrə.
  • Hadisələrdən əvvəl cache qızdırma planı; nöqtə əlilliyi (tags).
  • Vary/keys/TTL sənədləşdirilməsi; hadisələrin playbook (hit-ratio düşməsi).

14) TL; DR

Origin səfərlərini minimuma endirin: tiered/shield + düzgün cache-keys + SWR/SIE + coalescing. 1 HTTP/3/TLS daxil edin. 3, 103 Early Hints və preconnect istifadə edin. Medianı kənara sıxın və çevirin, kritik CSS-ni əhatə edin. API üçün - ETag, səliqəli 'Vary', idempotentlik və ağlabatan 'GET' caching. hit-ratio, TTFB/LCP p95, origin egress ölçün və əvvəlcədən pik cache qızdırın.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.