Ağdaki içerik akışları
(Bölüm: Ekosistem ve Ağ)
1) Öz ve hedefler
İçerik akışları, oyun artifaktlarının (kod/varlıklar/medya), meta verilerin (tezahürler, yereller, kurallar) ve ekosistem katılımcıları arasındaki telemetri ve olayların yönetilebilir dağıtım yörüngeleridir. Hedefler:- Zirvelerde düşük gecikme süresi ve kararlı UX.
- QoS/kotalar, SLI/SLO ve gözlemlenebilirlik yoluyla öngörülebilirlik.
- Uyumluluk ve kesinti süresiz sürümler.
- Trafik birimi başına güvenlik, uyumluluk ve maliyet.
2) Akış taksonomisi
1. On-Demand (pull) - müşteri hash URL ile varlık/tezahür ister.
2. Push/Invalidate - güncellemeler/devre dışı bırakılmış önbellekler ve abonelikler (webhook'lar).
3. Akış - lobi/jackpots/canlı etkinlikler için uzun kanallar (WebSocket/gRPC).
4. Toplu/Zamanlanmış - katalogların, yerellerin, raporların zamanlanmış yüklemeleri.
5. Yan Bant Telemetri - ana UX'e müdahale etmeyen olaylar/metrikler/yollar.
6. Kontrol-Düzlem - phicheflags, ikamet kuralları, yaptırımlar/DRM listeleri.
Her tür kendi QoS sınıflarını, kanallarını ve yeniden ödeme politikasını alır.
3) Roller, düğümler ve yörüngeler
İçerik üreticisi (stüdyo)? Toplayıcı/kayıt? Operatör? CDN/edge? Istemci.
Servis düğümleri: yerelleştirme, DRM/kurallar, ödeme/jackpot hizmetleri, dolandırıcılıkla mücadele, izleme.
Arşivler: manifest registry, SDK sürümleri, medya nesne depolama, telemetri TSDB.
Tipik yörünge: istemci bir manifesto ister; varlıkları cihaz/yerel profil ile seçer; önbellekten CDN/kenar döndürür; Paralel olarak, akış lobileri/jackpotlar açılır ve telemetri yan bantta gider.
4) Taşıma ve formatlar
Varlıklar ve manifestolar için HTTP/2/3 (TLS, Brotli/Gzip, aralık).
gRPC/QUIC/WebSocket - çift yönlü olay/durum akışları.
Webhooks - değişikliklere iş ortağı abonelikleri (engelli kişiler, içerik güncellemeleri).
Özet adresleme (değişmez URL), varlık listesi ve uyumluluk matrisi (dil/tarayıcı/SDK) ile tezahür eder (JSON/YAML).
Bütünlük ve kaşelenebilirlik için içerik karmaları (Merkle/sha256).
5) QoS, kotalar ve geri basınç
Sınıflar:- P0 - kritik UX (tezahür, oyun çekirdeği, cüzdan, kurallar),
- P1 - ana varlıklar/UI ve akışlar,
- P2 - yüksek yoğunluklu medya, teşhis, arşiv.
- Kotalar: RPS/rekabetçi, bayt/saniye, abonelikler/istemci.
- Backpressure: belirteçler/krediler, abonelik limiti,'ağır sorgu koruması "(aralıklar/filtreler), DLQ'lu kuyruklar.
- Önceliklendirme: P0/P1/P2 için ayrı kuyruklar/kümeler, kaza durumunda "yalnızca önbellek" rotasının seçimi.
6) Yönlendirme ve önbelleğe alma
GeoDNS/Anycast + Latency-Aware LB - her zaman en yakın sağlıklı merkeze.
Önbellekler: kenar (kısa HTML TTL, uzun varlık TTL), negatif önbellek, kanaryalar için ön warm.
Varlık çeşitleri: AVIF/WebP/bit hızı merdivenleri, aygıt ipuçları (açı/piksel yoğunluğu).
Hash-URL: sıkı kaşelenebilirlik, atomik sürümler, hash geri dönüşleri.
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) Tutarlılık, sipariş ve versiyonlar
Manifest - varlıklar modeli: Müşteriler vX manifestosuna abone olurlar. Y.Z ', varlıklar - değişmez.
Olay sıralaması: önemli olaylar (ikramiyeler, canlı sinyaller) - anahtar/kanal içinde.
SemVer sürümü ve "iki satır" (GA ve Canary). Geri çekilme ≥ 90 gün.
Kesinti süresiz geçişler: mavi-yeşil, manifestolarda uyumlu alanlar, istemci ficheflags.
8) Gözlemlenebilirlik: SLI/SLO ve sinyaller
Çekirdek SLI:- TTI/TTL p95 (sayfa/oyun),
- Varlık Getirme Başarısı %, CDN Hit %,
- RTT p95 Akışı и Yeniden Bağlantı Hızı,
- Manifest Drift (eski sürümlerdeki istemciler),
- Hata Oranı (JS/WASM/SDK),
- Geo-Hit Oranı (yerel servis talepleri),
- 1k varlık getirme başına maliyet (CTS).
- TTI p95 ≤ 2. 5s (Wi-Fi )/ ≤ 4. 0s (mobil),
- Varlık başarısı ≥ 99. %8, CDN %90 ≥ isabet etti,
- Bölgede RTT p95 ≤ 300 ms akışı,
- GA'ya göre 24 saat içinde %1 ≤ belirgin sürüklenme,
- Hata oranı ≤ 0. 4%.
Telemetri: gecikme histogramları, paket boyutları, bırakma/yeniden deneme web kitapları, akış yükü, çökme oranı.
9) Emniyet ve güvenlik
Hizmetler arasında mTLS webhook imzaları (HMAC, geçerli zaman penceresi).
DRM/anti-kurcalayıcı: bütünlük kontrolleri, CSP/Referans-Politikası, etki alanı izin listeleri.
Anti-bot/anti-kazıma: oran sınırları, davranışsal sinyaller, JA3/FP, bulmaca zorlukları, "yumuşak" yasaklar.
PII-minimizasyon: Etiketlerde/günlüklerde/manifestolarda kişisel veri eksikliği.
İkamet: Bölgeye/yargı alanına göre medya/yerel ihracat kuralları.
10) Bozulma modları
Yalnızca varlıklar için önbellek ve akışlar için "yalnızca sonlandırılmış".
Lite manifestosu (minimal varlıklar, devre dışı video/animasyon).
Önceki GA manifestosunda zarif geri dönüş.
Kritik olmayan işlevler için salt okunur, "pahalı" istekleri devre dışı bırakır.
11) Bültenler ve kanaryalar
Serbest bırakma pencereleri: hafta içi, bölgenin/kümenin "temiz" saatleri.
Kanarya %5 trafik/ ≥ 120 dk; SLO kapıları (TTI/hatalar/RTT).
Geri alma, oturumları bozmadan atomiktir (karma/versiyona göre).
Sıcak bölgeler ve popüler oyunlar için 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) Veri ve kataloglar
Manifest dizini
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)
);
Varlık Örnek Günlükleri
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
);
Akış metrikleri
sql
CREATE TABLE stream_metrics (
ts TIMESTAMPTZ, region TEXT, channel TEXT,
rtt_p95_ms INT, reconnect_rate NUMERIC,
subscribers INT, drops INT
);
13) Yönlendirme/önbelleğe alma politikaları
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) Panolar
İçerik Akış Çekirdeği: TTI/TTL, Varlık başarısı, CDN vuruşu, Sürüklenme, Hata oranı.
Akış: RTT p95, yeniden bağlanma, damlalar, aboneler/kanal.
Yönlendirme ve QoS: sınıf başına gecikme/RPS, kuyruk gecikmesi, gaz kelebeği vuruşları.
Ekonomi: CTS/1k getirileri, trafik/bölge, $/GB, TPS_per_$.
Uyumluluk/Güvenlik: CSP ihlalleri, webhook imzaları, bölgeye göre ihracat.
15) Playbook olayları
A. TTI/TTL p95 büyümesi
1. Yalnızca önbelleğe ve lite-manifest'e geçin; 2) ön warm/sıkıştırmayı açın;
2. Kenar/API kopyalarını artırın 4) ağır varlıkların analizi, geçici olarak kapatın.
B. CDN hit drop
1. TTL/değişkenliği kontrol edin; 2) ön warm ve hash-URL'yi etkinleştir;
2. Varlıkları birleştirin (paketleme), resimleri/videoları optimize edin.
C. Akarsulardaki zirveleri yeniden bağlayın
1. Sorunlu bölgelerin yerelleştirilmesi; 2) abonelikleri/kanalları sınırlamak;
2. Tamponları/ping'i artırın; 4) güncellemelerin sıklığını geçici olarak azaltın.
D. WASM/JS Toplu Hatalar
1. Sorunlu versiyonun kill-switch; 2) N-1'e geri dönüş;
2. İzlerin/yığınların toplanması; 4) düzeltme, ölüm sonrası ve test vakaları.
E. İhracat ikametinin ihlali
1. Bölgeler arası çoğaltma birimi; 2) redaksiyon;
2. Uyumu bildir; 4) güncelleme kuralları/testleri.
16) Uygulama kontrol listesi
1. Akış modelini (çekme/itme/akış/toplu iş) ve QoS sınıflarını düzeltin.
2. Varlıkların manifestolarını ve karma adreslemelerini girin, CDN ve ön warm yapılandırın.
3. Yönlendirmeyi (GeoDNS/Anycast), önbellekleri ve ağır sorgu korumasını yapılandırın.
4. SLI/SLO'yu tanımlayın, telemetriyi etkinleştirin (TTI/varlık başarısı/RTT akışı).
5. Güvenliği etkinleştir (mTLS, imzalı webhooks, DRM, CSP).
6. Sürümleri düzenleyin (kanarya, hash geri dönüşleri), bozulma modları.
7. Core/Streaming/Routing/Cost/Compliance panoları oluşturun.
8. Düzenli olarak kaos testleri yapın: CDN dips, yüksek RTT, kayıp/jitter.
17) Sözlük
TTI/TTL - etkileşim zamanı/tam indirme.
Geo-Hit Ratio - yerel olarak sunulan taleplerin oranı.
Değişmez URL - bütünlüğü/hesaplanabilirliği garanti eden karma adresleme.
Geri basınç - giriş yükü kontrol mekanizmaları.
DLQ - sorunlu mesajlar için "ölü kuyruk".
Sürüklenme - müşterilerin alakasız manifestolardaki payı.
1k getirileri başına CTS - varlıkların 1000 örneklerinin maliyeti.
Alt satır: "İçerik akışları" sadece CDN'ler ve dosyalar değil, yönetilen bir rota sistemi, QoS, sürümler ve gözlemlenebilirliktir. Standartlaştırılmış manifestolar, karma adresleme, kanarya sürümleri ve katı SLO'lar öngörülebilir UX verir ve bozulma modları ve kötüye kullanım önleme, yük altında ve arıza durumunda ekosistem stabilitesini verir.