Բովանդակության հոսքերը ցանցում
(Բաժին ՝ Էկոհամակարգ և ցանց)
1) Էությունն ու նպատակները
Բովանդակության հոսքերը խաղային արտեֆակտների առաքման ուղղություններ են (կոդ/ասետներ/մեդիա), մետատվյալներ (մանիֆեստներ, լոկալներ, կանոններ), ինչպես նաև հեռուստացույցներ և իրադարձություններ էկոհամակարգի մասնակիցների միջև։ Նպատակները
Ցածր լատենտ և կայուն UX պիկի ժամանակ։
Կանխատեսելիությունը QoS/քվոտայի, SLI/SLO-ի և դիտարկման միջոցով։
Համատեղելիությունը և տարբերակները առանց դաունթայմի։
Անվտանգությունը, համադրումը և մեկ ռուբլու արժեքը։
2) Հոսքերի տաքսոնոմիա
1. On-Demand (p.ru) - հաճախորդը խնդրում է ասացվածքներ/մանիֆեստներ hash-URL-ով։
2. Push/Mastalidate - apdayts/cash և ստորագրությունների (webhooks)։
3. Streaming-ը երկար ջրանցքներ է (WindSocket/gRPC) լոբբիի/ջեքպոտների/լայվ իրադարձությունների համար։
4. Batch/Scheduled - պլանավորված թողարկումներ, լոկալներ, ռուսական։
5. Side-band Telemetry-ը իրադարձություններ/մետրիկներ/թրեյզներ են, որոնք չեն խանգարում հիմնական UX-ին։
6. Dell-Plane-flagy, բնակության կանոնները, www.ru/PPM ցուցակները։
Յուրաքանչյուր տիպ ստանում է սեփական QoS դասարանները, ալիքները և ռեգրեների քաղաքականությունը։
3) Դերեր, կոմպոզիցիաներ և հետքեր
Բովանդակության արտադրողը (ստուդիա) մեջբերում է ագրեգատորը/ռուսական օպերատորը CDN/edge ռուսական հաճախորդը։
Ծառայողական ձեռնարկություններ 'տեղայնացում, SDM/կանոններ, վճարային/ջեքպոտ ծառայություններ, հակա-ֆրոդ, ռուսական։
Տե՛ ս ՝ ռուսական մանիֆեստներ, MSK տարբերակներ, լրատվամիջոցների օբյեկտիվ պահեստ, TSDB հեռուստատեսություն։
Օրինակ, հաճախորդը պահանջում է մանիֆեստ, ընտրում է սարքի/locals wwww.CDN/edge-ը։ զուգահեռ բացվում է stream lobby/jackpots, իսկ հեռուստացույցն անցնում է side-band։
4) տրանսպորտը և հյուրանոցը
HTTP/2/3 ասպետների և մանիֆեստների համար (TFC, Brotli/Gzip, range)։
GRPC/QUIC/WindowSocket-ը իրադարձությունների/պետությունների երկվորյակ հոսանքներն են։
Webhooks-ը գործընկերների պաշտպանությունն է փոփոխության վրա (հաշմանդամներ, բովանդակություն-ապդեյտա)։
Մանիֆեստները (JSON/YAML) հեշ հասցեով (immutable URL), ասսեթների և մատրիցների ցուցակը (լեզուն/RTK)։
Բովանդակությունը (Merkle/sha256) ամբողջականության և հավասարակշռության համար։
5) QoS, քվոտաներ և backpressure
Դասարաններ
P0 քննադատական UX (մանիֆեստ, խաղի միջուկը, դրամապանակը, կանոնները),
P1 հիմնական ասելետներն են/UI և ստրիմա,
P2 - բարձր խտության մեդիա, ախտորոշում, արխիվ։
Քվոտաներ ՝ RPS/մրցակցային, բայթ/վայրկյան, 108/հաճախորդ։
Backpressure : /վարկեր, ստորագրությունների սահմանափակումը, «heavy-query guard» (միջակայքը/ֆիլտրերը), DLQ-ի հերթերը։
Առաջնահերթություն 'P0/P1/P2-ի համար անհատական հերթեր, դժբախտ պատահարների ժամանակ «kash-միայն» մրցույթի ընտրությունը։
6) Միկրոակտիվացում և կեշացիա
GeoTS/Anycript + Latency-Ault LB-ը միշտ ամենամոտ առողջ ռեստրում է։
Քեշի 'Edge (կարճ HTML, երկար asset TTL), negative cache, wwarm քարերի համար։
Ասետների տարբերակները ՝ AVIF/WinP/bitret աստիճաններ, device hinae (պիքսելների անկյուն/խտություն)։
Hash-URL-ը 'խիստ քեշիրունություն, ատոմային ածխաջրածիններ, արձագանքներ «հեշով»։
CDN քաղաքականությունը (օրինակ)
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) Համաձայնություն, կարգուկանոն և տարբերակներ
«Մանիֆեստ» մոդելը 'հաճախորդները ստորագրվում են մանիֆեստ' vX-ում։ Y.Z ', ասացվածքներ - imutable։
Event-ordering: Կարևոր իրադարձություններ (ջեքպոտներ, ազդանշաններ) - բանալին/ալիքի սահմաններում։
SemVer-ի և «երկու գծերի» (GA և Canary) տարբերակումը։ Deprecation-ը 90 օր է։
Առանց dountaima 'blue-green, համադրելի դաշտեր մանիֆեստներում, հաճախորդների ֆիֆլագները։
8) Դիտարկումը 'SLI/SLO և ազդանշաններ
SLI միջուկները
TTI/TTL p95 (էջ/խաղ),
Asset Fetch Success%, CDN Hit%,
Stream RTT p95 и Reconnect Rate,
Manifest Drift (հաճախորդները հնացած տարբերակներով),
Error Rate (JS/WASM/SDK),
Geo-Hit Ratio (տեղական սպասարկվող հարցումներ),
Cost per 1k asset fetches (CTS).
SLO (կենտրոններ)
TTI p95 ≤ 2. 5s (Wi-Fi) / ≤ 4. 0s (mobile),
Asset success ≥ 99. 8%, CDN hit ≥ 90%,
Stream RTT p95-300 ռուբլիներ տարածաշրջանում,
Manifest drift 241 տոկոսը 24 ժամվա ընթացքում GA,
Error rate ≤ 0. 4%.
Թելեմետրիա ՝ լատենտության հիստոգրամներ, բանդալների չափսեր, drop/retry webhooks, որոնք տեղադրված են ստրիմայի վրա, crash-free rate։
9) Անվտանգություն և պաշտպանություն
MTSA ծառայությունների միջև; webhook (HMAC, թույլատրելի ժամանակի պատուհան)։
MSM/anti-tamper 'ամբողջականության ստուգումներ, CSP/Referrer-Policy, ալյումինե ալոու թերթիկներ։
Anti-bot/anti-screping: rate-limits, վարքագծային ազդանշաններ, JA3/FP, puzzle-Chelengi, «փափուկ» բանան։
PII-նվազեցումը 'անձնական տվյալների բացակայությունը պիտակների/լոգարանների/մանիֆեստների մեջ։
Նստավայրը 'լրատվամիջոցների/լոկալների արտահանման կանոնները տարածաշրջաններում/հայտարարություններում։
10) Քայքայման ռեժիմները
Cache-Only-ի համար և «finalized-only» սթրիմների համար։
Lite-մանիֆեստ (նվազագույն ազդանշաններ, անջատված վիդեո/անիմացիա)։
Graceful fallback-ը GA-ի նախորդ մանիֆեստի վրա։
Read-only-ը ոչ քննադատական գործառույթների համար, «թանկ» հարցումների անջատումը։
11) Ալմաթիում և Կանարեյկայում
Releant windows: buny, «մաքուր» տարածաշրջանի/2019 ժամացույցները։
Canary 5 տոկոսը 2019/35120 րոպե; SLO գեյթ (TTI/սխալներ/RTT)։
Rollback-ը ատոմային (hash/տարբերակով), առանց նստաշրջանների կոտրման։
Diwarm 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) Տվյալները և կոդերը
Մանիֆեստի կատալոգ
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)
);
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
);
Սթրիմների մետրերը
sql
CREATE TABLE stream_metrics (
ts TIMESTAMPTZ, region TEXT, channel TEXT,
rtt_p95_ms INT, reconnect_rate NUMERIC,
subscribers INT, drops INT
);
13) Ուղղորդման/քեշինգի քաղաքականությունները
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) Դաշբորդի
Content Flow Core: TTI/TTL, Asset success, CDN hit, Drift, Error rate.
Streaming: RTT p95, reconnect, drops, ստորագրողներ/ջրանցք։
Routing & QoS: per-class latency/RPS, queue-lag, throttle hits.
Economy: CBS/1k fetches, 108/տարածք, դոլար/GB, TPS _ per _ դոլար։
Compli.ru/Lenta.ru: CSP խախտումներ, webhook ստորագրություններ, էքսպորտը տարածաշրջաններով։
15) Playbook 2019
A. TTI/TTL p95
1. Անցեք cache-only և lite-մանիֆեստ; 2) միացրեք wwarm/ագրեսիա;
2. բարձրացնել կրկնօրինակները edge/API; 4) ծանր ասացվածքների վերլուծություն, ժամանակավորապես անջատել։
B. CDN hit
1. Ստուգել TTL/փոփոխականությունը; 2) միացրեք warm և hash-URL;
2. միավորել ասետները (bundling), օպտիմիզացնել նկարները/տեսահոլովակները։
C. Picki reconnae strimes
1. Խնդրահարույց տարածաշրջանների տեղայնացումը; 2) սահմանափակել կոդերը/ալիքները։
2. բարձրացնել/պինգ; 4) ժամանակավորապես նվազեցնել հաճախությունը։
D. Զանգվածային սխալներ WASM/JS
1. Kill-switch խնդրահարույց տարբերակը; 2) N-1 արձագանքը;
2. ուղիների/ապակիների հավաքում; 4) hotfix, post-mortem և թեստային։
E. էքսպորտի բնակության խախտումը
1. Միջտարածաշրջանային վերարտադրման բլոկը; 2) redaction;
2. տեղեկացնել Compliance; 4) թարմացնել կանոնները/թեստերը։
16)
1. Տեղադրեք հոսքերի մոդելը (pox/push/stream/batch) և QoS դասարանները։
2. Մուտքագրեք մանիֆեստները և hash-հասցեները, CDN պարամետրերը և wwarm-ը։
3. Պարեք երթուղայնացումը (GeoTS/Anycript), կեշին և heavy-query guard։
4. SLI/SLO-ի իրականացումը, միացրեք հեռուստացույցը (TTI/aset success/stream RTT)։
5. Միացրեք անվտանգությունը (mTSA, ստորագրված webhooks, MSM, CSP)։
6. Կազմակերպեք ֆորումներ (canary, hash), դեգրադացիոն ռեժիմներ։
7. Կառուցեք dashbords J/Streaming/Routing/Cost/Compliae։
8. Կանոնավորաբար կատարեք chaos թեստեր 'CDN ձախողումներ, բարձր RTT, loss/jitter։
17) Գլոսարիա
TTI/TTL-ն ինտերակտիվ/ամբողջական բեռնման ժամանակն է։
Geo-Hit Ratio-ը տեղական ծառայած հարցումների մասն է։
Immutable URL-ը հեշ հասցեն է, որը երաշխավորում է ամբողջականությունը/հավասարակշռությունը։
Backpressure-ը մուտքային բեռի վերահսկման մեխանիզմներ է։
DLQ-ը «մեռած հերթն» է խնդրահարույց հաղորդագրությունների համար։
Drift-ը հաճախորդների մասն է ոչ ակտիվ մանիֆեստներում։
CMS per 1k fetches-ը 1000 ասացվածքների ընտրության արժեքն է։
«Բովանդակության հոսքերը» ոչ միայն CDN և ֆայլեր են, այլ ուղղությունների կառավարվող համակարգ, QoS, տարբերակներ և դիտարկումներ։ Ստանդարտացված մանիֆեստները, hash-հասցեները, canared ալգորիթմները և խիստ SLO-ները տալիս են կանխատեսելի UX, իսկ դեգրադացիոն ռեժիմները և anti-abuze-ը 'էկոհամակարգի կայունությունը բեռի և ձախողումների տակ։