Edge hesablama və latency control
1) Niyə edge və latency control nədir
Edge - istifadəçiyə daha yaxın məntiqin həyata keçirilməsidir (PoP, CDN, lokal PoP operator, 5G ). Məqsəd RTT və «quyruqları» (p95/p99) azaltmaq, nüvəni boşaltmaq və geo qaydalara riayət etməyi təmin etməkdir.
Latency control - pik, paket itkisi və asılılıq deqradasiyası zamanı verilmiş SLO-da gecikməni saxlayan memarlıq və protokol texnikaları toplusu.
Əsas ideyalar: lokallıq, asinxronizm, dəyər prioriteti ilə deqradasiya.
2) Perimetr xəritəsi
Static/Assets CDN: caching, image/HTML-transform, Brotli, WebP/AVIF, HTTP/3.
Edge compute: funksiyalar/workers (Cloudflare Workers, Fastly Compute @Edge, Vercel Edge, Fly. io).
Edge data: KV/SQLite-on-edge/Durable Objects/Global Tables (sabitlik rezervasyonları ilə).
Edge security: WAF/Rate limit/Bot mgmt/Geo-rules/HMAC yoxlamalar.
Edge networking: Anycast, smart-routing, TCP/QUIC optimizasiyası.
3) Məntiq yerləşdirmə nümunələri
Shielding & warmup: origin-shield qat, məşhur açarları qızdırmaq/pinning.
Compute-on-read: bannerlərin personallaşdırılması, A/B budaqlanması, geo-redaktorlar.
Pre-auth at edge: JWT/HMAC validasiya, «zibil» nüvəyə atılması.
Write-through queue: Asenkron çatdırılma ilə edge növbəsində xüsusi hadisələrin yazılması (idempotentlik!).
Feature flags @ edge: sürətli deqradasiya açarları («yüngül» səhifə/kataloq rejimi).
4) Protokollar və nəqliyyat
HTTP/3 (QUIC): daha az handshake-overhaed, paket itkisinə qarşı müqavimət. Yalnız idempotent GET/HEAD üçün 0-RTT açın.
TCP tuning (üçün HTTP/1. 1/2): BBR/CUBIC, `tcp_fastopen`, `keepalive`, connection pooling.
TLS: OCSP stapling, ECDSA-серты, session resumption; HSTS perimetrdə.
DNS: Dinamik, split-horizon, anycast-rezolverlər üçün qısa TTL (30-120s).
5) «quyruqların» idarə edilməsi: p95/p99
Hedged requests: «başlanğıc müddəti» (məsələn, gecikmə p90) sonra ikinci backend sorğunu təkrarlayın və itirəni ləğv edin.
Deadline propagation: 'x-deadline-ms '/' grpc-timeout' ötürün ki, zəncir SLA-nı aşmasın.
Adaptive concurrency: observed-latency (AIMD) ilə rout/tenant paralelliyini məhdudlaşdırın.
Bulkhead & priority: kritik yollar (giriş/depozit) kvota və sinifdən yuxarı növbə alır.
6) Taymaut, retraj və idempotentlik
Total deadline < per-hop timeout × N; retrai yalnız idempotent əməliyyatlar üçün.
Backoff + jitter (yarı gizli gecikmələr), kor retras əvəzinə hedging.
POST üçün Idempotency-Key (pul kisələri/ödənişlər/bonuslar).
Retry-After və müştəri ipuçları (429/503) eksponent pəncərələrlə.
Envoy (marşrut parçası)
yaml route:
timeout: 300ms retry_policy:
retry_on: "reset,5xx,connect-failure"
num_retries: 1 per_try_timeout: 150ms retry_host_predicate:
- name: envoy. retry_host_predicates. previous_hosts host_selection_retry_max_attempts: 3 hedge_policy:
initial_requests: 1 additional_request_chance: { default_value: 0. 5} # enable after per-timeout
7) Caching və tutarlılıq
Cache key nizam-intizam: adları normallaşdırma/query, lazımi sahələrdə Vary.
Stale-while-revalidate: «bir az köhnəlmiş» ani qaytarılması + fon yeniləmə.
Soft TTL/Hard TTL: oxu yolları üçün yumşaq köhnəlmə, kritik konfiqurasiyalar üçün sərt TTL.
Signed exchanges/Signed URL: regional məhdudiyyətlər də daxil olmaqla qaynar resursların qorunması.
NGINX (SWR nümunəsi)
nginx proxy_cache_valid 200 10m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_504;
add_header Age $upstream_cache_status;
8) Edge-workers: nümunələr
Cloudflare Workers (JWT + Geo)
js export default {
async fetch(req, env, ctx) {
const url = new URL(req. url);
const { country } = req. cf {};
//Simple geo-policy if (country & &! ["DE, ""PL, ""SE,"" UA"] .includes (country)) {
return new Response("Region not served", { status: 451 });
}
//Easy JWT validation const token = req. headers. get("Authorization")?.replace("Bearer ","");
if (!token! isValid(token, env. JWTPUB)) return new Response("",{status:401});
//Prefetch critical data const resp = await fetch ("https ://origin. internal/api/v1/catalog", { cf:{ cacheTtl: 60, cacheEverything: true }});
return new Response(resp. body, resp);
}
}
Fastly Compute @Edge
Qonaq otaqlarında/səhifələrdə - 5% yeni versiya, edge- vasitəsilə sürətli geri dönüş.
9) Prioritetləşmə və deqradasiya
Priority hints: HTTP/2 prioritetlər/NTTR Erkən Hints (103) → erkən push kritik resursları.
Degrade path: sadə temperatur UI, ağır widget off, görüntü keyfiyyətini azaltmaq.
Traffic shaping: animasiyaların məhdudlaşdırılması, zəif şəbəkədə üçüncü tərəf provayderlərinin widget 'ları (RUM siqnalları).
10) Perimetrdə müşahidə
RUM + Synthetic: Web-Vitals (LCP/CLS/INP), TTFB, RTT, потери QUIC.
Exemplars: p99 spesifik trace_id və PoP ilə birləşdirin.
Bölgə/ASN/provayderə SLO: «p95 TTFB ≤ 200 ms», «p99 API ≤ 400 ms».
Tail-sampling: səhvləri/p99, 'edge _ pop', 'region', 'tenant' seqmentləri ilə saxlayın.
Edge logs: WAF hits, bot-score, cache-status, geo-həllər.
11) Üçüncü tərəf skriptlərinin idarə edilməsi
CSP və Subresource Integrity siyasəti.
Defer/async, izolyasiya edilmiş domenlər, kritik yollar - üçüncü tərəf JS-ni bloklamadan.
Personalizasiya və trekinq - TTFB-yə təsir etmədən edge-də asenxron şəkildə yerinə yetirilir.
12) edge antibot/antifrod
Device fingerprint və velocity limitləri nüvəyə qədər.
Token binding (forma/əməliyyat üçün birdəfəlik tokenlər), HMAC sorğu imzası.
Challenge-step (Turnstile/hCaptcha) yalnız artan risklə; IP/ASN/seans vasitəsilə «etimadı» keşləşdirmək.
13) iGaming/Maliyyə Xüsusiyyətləri
Geo-compliance: edge (qaydaların səhifələri, Responsible Gaming) yurisdiksiyasına görə bloklama/yönləndirmə.
PSP/KYC prioritetləşdirilməsi: «sağlam» provayder (smart-routing), ayrı-ayrı TTL/PSP domenləri üçün DNS-də çəki edge marşrutu.
Anti-abuse: edge-də velocity siqnalları nəzərə alınmaqla depozitlər/qeydiyyat/bonuslar üzrə limitlər; bütün write əməliyyatları idempotentdir.
Data residency: Şəxsi məlumatlar edge-də cached edilmir; PII başlıqları redaktə olunur/silinir, PSP-yə TLS-pinning daxil edilir.
«Pul» yolları üçün CLO: daha sərt p95/p99, ayrılmış kvotalar, ayrı-ayrı risklər.
14) Memarlıq reseptləri
14. 1 «Sürətli cəbhə»
HTML şablon və edge-də kritik CSS, verilənlər - 'stale-while-revalidate' vasitəsilə, ağır widgets - tənbəl.
14. 2 «Pul yolu»
edge-də pre-auth + HMAC, qaydaların/limitlərin sürətli yoxlanılması, növbədə dərc edilməsi, 202/OK cavabı, sonrakı webhook/polling; PSP üçün son tarix və hedging.
14. 3 «Kataloqlar/Oyunlar»
Kataloqlar/konfiqlər - qlobal KV/edge-cache; regional qiymət/yaş üçün - yerli qaydalarla compute-on-edge.
15) Performans və dəyəri
Cash hit ≥ statik üçün 95% və yarı dinamik üçün 70% ≥ (HTML fraqmentləri) - hədəf.
Yerli PoP və stale cavabları vasitəsilə «kross-regional egress» azaldın.
Tail-rules treysinq qiymətli halları saxlayarkən 10- × 100 × həcmini məhdudlaşdırır.
QUIC protokolu RTT-yə qənaət edir, lakin H2-də fallback saxlayın.
16) Prod hazırlıq yoxlama siyahısı
- HTTP/3/QUIC daxildir; 0-RTT yalnız idempotentlər üçün.
- Edge-workers: JWT/HMAC validasiya, geo-qaydalar, feature-flags deqradasiya.
- Cash strategiyası: açarları, SWR, soft/hard TTL; origin-shield + istilik.
- Hedging, deadline-propagation, adaptiv concurrency, bulkheads.
- Zaman/retrauslar: backoff + jitter, yalnız idempotent təkrarlamalar.
- RUM+synthetic; Bölgə üzrə SLO/ASN; tail-sampling p99/səhvlər.
- CSP/SRI və üçüncü tərəf skriptləri nəzarət; edge-də WAF/bot-skor.
- Üçün iGaming: geo-compliance, smart-routing PSP, idempotent write, heç bir PII cache.
- Runbooks: deqradasiyanı necə açmaq/çəki dəyişdirmək/kanareya yuvarlamaq.
- Testlər: 1-3% itki altında gizlilik, xaos gecikmələri, DNS rehearse-feylover.
17) TL; DR
Məntiqi mümkün qədər istifadəçiyə çatdırın (edge-workers + cache), HTTP/3/QUIC danışın, vaxtları/müddətləri ciddi şəkildə idarə edin, p99 hedging və bulkhead/priority ilə «quyruqları kəsin». Kritik yollar - ayrı-ayrı kvotalar və SLO, bütün qeydlər - idempotentdir. Müşahidə - RUM + synthetic + tail-tracing. iGaming üçün - geo-komplayens, PSP/KYC smart-routing, perimetrdə sıfır PII sızması və sürətli deqradasiya rejimləri.