Şəbəkədə məzmun axını
(Bölmə: Ekosistem və Şəbəkə)
1) mahiyyəti və məqsədləri
Məzmun axınları - oyun artefaktlarının (kod/assets/media), meta-məlumatların (manifestlər, lokallar, qaydalar), həmçinin telemetriya və ekosistem iştirakçıları arasında baş verən hadisələrin idarə olunan çatdırılma yollarıdır. Məqsədlər:- Aşağı gecikmə və pik sabit UX.
- QoS/kvotalar, SLI/SLO və müşahidə vasitəsilə proqnozlaşdırıla bilər.
- downtime olmadan uyğunluq və versiyası.
- Təhlükəsizlik, uyğunluq və vahid trafik dəyəri.
2) Axınların taksonomiyası
1. On-Demand (pull) - müştəri heş-URL vasitəsilə assets/manifestlər tələb edir.
2. Push/Invalidate - update/cache və abunə əlilləri (webhooks).
3. Streaming - lobbi/jackpot/canlı hadisələr üçün uzunmüddətli kanallar (WebSocket/gRPC).
4. Batch/Scheduled - kataloqların, lokalların, hesabatların planlı yüklənməsi.
5. Side-band Telemetry - əsas UX-ə mane olmayan hadisələr/metriklər/treyslər.
6. Control-Plane - fitnələr, rezidentlik qaydaları, sanksiya siyahıları/DRM.
Hər bir növ öz QoS siniflərini, kanallarını və retraj siyasətini alır.
3) Rollar, düyünlər və trayektoriyalar
Məzmun istehsalçısı (studiya) → aqreqator/reyestr → operator → CDN/edge → müştəri.
Xidmət qovşaqları: lokalizasiya, DRM/qaydalar, ödəniş/cekpot xidmətləri, anti-frod, monitorinq.
Anbarlar: manifestlərin reyestri, SDK versiyaları, media obyekti anbarı, TSDB telemetriyası.
Tipik trayektoriya: müştəri manifest tələb edir → cihaz profili/lokal üzrə assetləri seçir → CDN/edge cache-dən verir; paralel olaraq stream lobbi/jackpot açılır və telemetriya side-band ilə gedir.
4) Nəqliyyat və formatlar
assetlər və manifestlər üçün HTTP/2/3 (TLS, Brotli/Gzip, range).
gRPC/QUIC/WebSocket - iki yönlü hadisə/hal axını.
Webhooks - tərəfdaşların dəyişiklik abunələri (əlillər, məzmun yeniləmələri).
Manifestlər (JSON/YAML) heş ünvanı (immutable URL), asset siyahısı və uyğunluq matrisi (dil/brauzer/SDK) ilə.
Bütövlük və caching üçün məzmun hash (Merkle/sha256).
5) QoS, kvotalar və backpressure
Siniflər:- P0 - kritik UX (manifest, oyunun nüvəsi, pul kisəsi, qaydalar),
- P1 - əsas assetlər/UI və axınlar,
- P2 - yüksək sıxlıqlı media, diaqnostika, arxiv.
- Kvotalar: RPS/rəqabətli, bayt/san, abunə/müştəri.
- Backpressure: tokenlər/kreditlər, abunə məhdudiyyətləri, «ağır-query guard» (diapazonlar/filtrlər), DLQ ilə növbələr.
- Prioritetləşdirmə: P0/P1/P2 üçün ayrı-ayrı növbələr/klasterlər, qəzalar zamanı «cash-off» marşrutunun seçilməsi.
6) Marşrutlaşdırma və keşləşdirmə
GeoDNS/Anycast + Latency-Aware LB - həmişə ən yaxın sağlam hub.
Keşlər: edge (qısa HTML TTL, uzun asset TTL), negative cache, kanaryalar üçün prewarm.
Asset variantları: AVIF/WebP/bitreyt pilləkənləri, device hints (bucaq/piksel sıxlığı).
Hash-URL: ciddi önbelleklik, atom buraxılışları, «hash» geri dönüşləri.
yaml cdn:
ttl:
html: 60s manifest: 5m assets: 30d immutable_assets: true vary:
- "Accept-Encoding"
- "User-Agent-Class" # mobile/desktop/legacy signed_urls: true
7) Uyğunluq, nizam və versiyalar
«Manifest → assets» modeli: müştərilər vX manifestinə abunə olurlar. Y.Z ', assets - immutable.
Event-ordering: mühüm hadisələr (cekpotlar, canlı siqnallar) - açar/kanal daxilində.
SemVer və «iki xətt» versiyası (GA və Canary). Deprecation ≥ 90 gün.
Downtime olmadan miqrasiya: mavi-yaşıl, manifestlərdə uyğun sahələr, müştəri faylları.
8) Müşahidə: SLI/SLO və siqnallar
SLI nüvə:- TTI/TTL p95 (səhifə/oyun),
- Asset Fetch Success%, CDN Hit%,
- Stream RTT p95 и Reconnect Rate,
- Manifest Drift (köhnəlmiş versiyalarda müştərilər),
- Error Rate (JS/WASM/SDK),
- Geo-Hit Ratio (yerli xidmət sorğuları),
- Cost per 1k asset fetches (CTS).
- TTI p95 ≤ 2. 5s (Wi-Fi) / ≤ 4. 0s (mobile),
- Asset success ≥ 99. 8%, CDN hit ≥ 90%,
- Stream RTT p95 ≤ 300 ms regionda,
- Manifest drift ≤ 1% 24 saat GA,
- Error rate ≤ 0. 4%.
Telemetri: latentlik histoqramları, bandl ölçüləri, drop/retry webhooks, strim yükü, crash-free rate.
9) Təhlükəsizlik və müdafiə
xidmətlər arasında mTLS; webhook imzaları (HMAC, icazə verilən vaxt pəncərəsi).
DRM/anti-tamper: bütövlük yoxlamaları, CSP/Referrer-Policy, domen allow vərəqləri.
Anti-bot/anti-scraping: rate-limits, davranış siqnalları, JA3/FP, puzzle-çağırışlar, «yumşaq» qadağan.
PII-minimallaşdırma: etiket/log/manifestlərdə şəxsi məlumatların olmaması.
Rezidentlik: regionlar/yurisdiksiyalar üzrə media/lokal ixrac qaydaları.
10) Deqradasiya rejimləri
assets üçün Cache-Only və axınlar üçün «finalized-only».
Lite-manifest (minimal assetlər, video/animasiyalar).
Graceful fallback əvvəlki GA manifestinə.
Kritik olmayan funksiyalar üçün Read-only, «bahalı» sorğuları söndürmək.
11) Relizlər və Kanaryalar
Release windows: iş günləri, region/klasterin «təmiz» saatları.
Canary 5% trafik/ ≥ 120 dəq; SLO geytaları (TTI/səhvlər/RTT).
Atomik Rollback (hash/versiyası), seansların qırılması olmadan.
isti bölgələr və məşhur oyunlar üçün Prewarm CDN.
yaml release:
canary:
share_pct: 5 min_duration_min: 120 gates:
tti_p95_ms: 2500 error_rate_pct: 0. 4 rollback:
auto_on: ["slo_breach","crash_rate>0. 6"]
target: "previous_ga"
12) Məlumat və kataloqlar
Manifestlər kataloqu
sql
CREATE TABLE manifests (
game_id TEXT,
version TEXT,
region TEXT,
status TEXT, -- canary ga deprecated asset_root TEXT, -- CDN prefix content_hash TEXT, -- Merkle/sha256 sdk_min TEXT,
created_at TIMESTAMPTZ,
PRIMARY KEY (game_id, version, region)
);
Asset nümunələrinin qeydləri
sql
CREATE TABLE asset_fetch_log (
ts TIMESTAMPTZ,
region TEXT,
game_id TEXT, version TEXT,
path TEXT, bytes INT,
status SMALLINT,
latency_ms INT,
served_from TEXT -- edge origin cache
);
Axın metrləri
sql
CREATE TABLE stream_metrics (
ts TIMESTAMPTZ, region TEXT, channel TEXT,
rtt_p95_ms INT, reconnect_rate NUMERIC,
subscribers INT, drops INT
);
13) Marşrutlaşdırma/caching siyasəti
yaml routing:
prefer_local: true fallback_chain: [nearest_healthy, master_hub]
qos:
P0: { rps_per_org: 1500, ack_timeout_ms: 2000, retries: 3 }
P1: { rps_per_org: 800 }
P2: { rps_per_org: 200, best_effort: true }
heavy_query_guard:
deny: ["logs>5000blocks","media_raw>200MB"]
require_token: true cache_policy:
manifest_ttl: "5m"
asset_ttl: "30d"
negative_ttl: "30s"
prewarm:
regions: ["eu","uk","na"]
top_games: 50
14) Daşbordlar
Content Flow Core: TTI/TTL, Asset success, CDN hit, Drift, Error rate.
Streaming: RTT p95, reconnect, drops, abunəçilər/kanal.
Routing & QoS: per-class latency/RPS, queue-lag, throttle hits.
İqtisadiyyat: CTS/1k fetches, trafik/region, $/GB, TPS_per_$.
Compliance/Security: CSP pozuntuları, webhook imzaları, bölgələrə ixrac.
15) Playbook hadisələr
A. TTI/TTL p95 artımı
1. cache-only və lite-manifestə keçid; 2) prewarm/sıxılma daxil;
2. edge/API replikalarını artırmaq; 4) ağır assets təhlili, müvəqqəti söndürmək.
B. CDN hit düşməsi
1. TTL/varyativliyi yoxlayın; 2) prewarm və hash-URL daxil;
2. assets birləşdirmək (bundling), şəkil/video optimallaşdırmaq.
C. axınlarda reconnect zirvələri
1. Problemli bölgələrin lokallaşdırılması; 2) abunə/kanalları məhdudlaşdırmaq;
2. bufer/ping artırmaq; 4) yeniləmələrin tezliyini müvəqqəti azaltmaq.
D. kütləvi WASM/JS səhvləri
1. Kill-switch problemli versiyası; 2) N-1-də geri çəkilmə;
2. yolların/yığınların toplanması; 4) hotfix, post-mortem və test halları.
E. İxracın rezidentliyinin pozulması
1. Regionlararası replikasiya bloku; 2) redaction;
2. Compliance xəbərdar etmək; 4) qaydaları/testləri yeniləmək.
16) Giriş çek siyahısı
1. Axın modelini (pull/push/stream/batch) və QoS siniflərini düzəldin.
2. Manifestləri və assetlərin hash ünvanını daxil edin, CDN və prewarm-i konfiqurasiya edin.
3. Marşrutlaşdırma (GeoDNS/Anycast), keşlər və heavy-query guard.
4. SLI/SLO müəyyən, telemetriya daxil (TTI/asset success/stream RTT).
5. Təhlükəsizlik daxil edin (mTLS, webhooks tərəfindən imzalanmış, DRM, CSP).
6. Relizləri (canary, hash-off), deqradasiya rejimlərini təşkil edin.
7. Core/Streaming/Routing/Cost/Compliance dashboard qurun.
8. Mütəmadi olaraq chaos testləri aparın: CDN uğursuzluqları, yüksək RTT, loss/jitter.
17) Lüğət
TTI/TTL - interaktivlik/tam yükləmə vaxtıdır.
Geo-Hit Ratio - yerli olaraq xidmət edilən sorğuların payı.
Immutable URL - bütövlüyü/cache təmin edən hash ünvanı.
Backpressure - giriş yük nəzarət mexanizmləri.
DLQ - problemli mesajlar üçün «ölü növbə».
Drift - qeyri-aktual manifestlərdə müştərilərin payı.
CTS per 1k fetches - 1000 asset seçimi dəyəri.
Nəticə: «Məzmun axını» yalnız CDN və fayllar deyil, marşrut, QoS, versiyalar və müşahidə sistemidir. Standartlaşdırılmış manifestlər, hash-adresasiya, kanarya relizləri və ciddi SLO proqnozlaşdırıla bilən UX verir və deqradasiya rejimləri və anti-sui-qəsd ekosistemin yük altında və uğursuzluqda sabitliyini təmin edir.