Live-dilerleriň hakyky wagtda akymy nähili işleýär
1) Näme üçin "hakyky" hakykat gerek?
Live-casino, wideo önümçiliginiň we geleşik logikasynyň birleşmesidir. Ähli gymmatlyk sinhronlykda: oýunçy dileri görýär, "Goýuň" -a basýar, "No more bets" -e çenli stawkany düzedýär we netije aç-açan hasaplanýar. Islendik rasinhronizasiýa (wideonyň gijikdirilmegi, "giç" nyrh) VOID-e, jedele ýa-da ynamyň ýitmegine öwrülýär.
2) Studiýadan oýunça çenli kontury
Studiýa → Ingest → Orkestrator → Gowşuryş → Pleer
1. Studiýa: 1080p/60 (ýa-da 4K/60) kameralar, mikrofonlar, ýagtylyk, mikser, düwmeler (taýmerler/maslahatlar).
2. Ingest: SDI/NDI → kodlaýjy (h. 264/h. 265, Opus/AAC) → SRT/RTMP kabul edilýär.
3. Prosessing: overlei kompoziti, arhiw ýazgysy, CV/RFID wakalary, timecode boýunça sinhronizasiýa.
4. Transkod: Tor/enjam profilleri (1080p/720p/480p), GOP 0. 5-1 sah.
5. Poçta:- WebRTC - esasy pes patentli ýol (p95 150-500 ms), LL-HLS/DASH - folbek (2-5 s), DataChannel/WebSocket - jedelleriň/taýmerleriň signallary.
- 6. Oýunçy: server time (UTC) bilen sinhronlaşdyryldy, wagtlary çyzýar we karar berýär.
3) Teswirnamalar: haýsy ýerde ýerlikli
WebRTC: brauzere/mobillere çenli iň çalt, UDP, congestion control, iki taraplaýyn DataChannel.
SRT: Studiýadan durnukly ingest (ARQ, şifrlemek), kellä çenli jitter/ýitgilere garşy gowy.
LL-HLS/DASH: köpçülikleýin folbek/CTV, segmentler 1-2 s, ýygy-ýygydan partial-updates; gijikdirmek has ýokary, ýöne has arzan.
RTMP: diňe "geçen asyr" hökmünde gabat gelmek üçin (ingest), müşderi eltip bermek hökmünde däl.
4) Tapgyrlary we nyrhlary sinhronlamak
Hakykat - serwer wagty. Müşderi wagtal-wagtal sinhronlaşdyrylýar (NTP-meňzeş pingler) we local-offset düzedýär.
Durmuş sikli:1. `round. open '- stawka penjiresi işjeňleşdirildi (mysal üçin 15 s).
2. `round. close '- serwer nyrhlary kabul etmegi bes edýär, UI bloklanýar.
3. `round. result '- CV/RFID/operatordan netije.
4. `round. settle '- gapjykdaky tölegler/öçürmeler.
Invariantlar: serwer möhleti müşderiden has berk. Tor düşse, "gongdan soň" kabul etmekden nyrhy ret etmek has gowudyr.
5) Data-kanallar we API
Signallar (real-time): DataChannel/WebSocket - stollaryň ýagdaýy, taýmerler, nyrhlary tassyklamak.
Geleşikler (pul): Dempotentlik ('X-Idempotency-Key') we HMAC-gol bilen REST/gRPC.
Telemetriýa QoS: RTT, packet loss, bitrate, dropped frames, latency 'bet. accept`.
Mysal 'round. close`:json
{
"event": "round. close", "tableId": "evo_blackjack_23", "roundId": "R-2025-10-17T14:23:10Z-evo-23", "ts": "2025-10-17T14:23:12. 000Z", "serverTime": "2025-10-17T14:23:12. 000Z"
}
Stawkany ýerleşdirmegiň mysaly (idempotent):
http
POST /live/bet/place
X-Idempotency-Key: 9a7f-2b1c
Content-Type: application/json
{
"playerId":"p_123", "tableId":"evo_blackjack_23", "roundId":"R-2025-10-17T14:23:10Z-evo-23", "selections":[{"market":"player","amount":"10. 00"}], "currency":"EUR"
}
6) Gijä galmagyň wagtlary we býujetleri (maksatlaýyn)
Gapjykda → 'hold' basmak: p95 ≤ 150-250 ms.
`round. close '→ duralgasy: serwerde 50 ms ≤ + UI-ni derrew blokirlemek.
'result' → 'settle': p95 ≤ 1-2 s (CV/RFID barlagyny goşmak bilen).
Wideo gijikdirme: WebRTC p95 ≤ 500 ms; LL-HLS ≤ 5 с.
Signallar: sebitde p95 ≤ 150 ms maglumat kanaly.
7) Ölçeg we edge-arhitektura
Edge-SFU/WebRTC sebitler boýunça düwünler (EU/UK/CA/LA/SEA) - oýunça has ýakyn.
Geo-routing (Anycast/DNS) we QoS (RTT/PLR) boýunça saglyk synaglary.
Abonentleriň sany, bitreýt we zaýalanma signallary boýunça awtoskaling.
LL-HLS üçin Origin-shield.
Profil howuzlary: tor (UDP-optimizirlenen), CPU-heavy (transkod), memory-heavy (bufer).
8) Wideo signallary we overleýleri gaýtadan işlemek
Serwerdäki örtük (kompozit): elmydama wideo bilen gabat geler, ýöne transkoddan has gymmat.
Müşderi üstüni örtmek (HTML/CSS/Canvas): arzan, çeýe; şol bir serwer wagtynyň we wakalaryň bellikleriniň bolmagy möhümdir.
Maslahat: taýmerler/" No more bets" - müşderide overley hökmünde, ýöne" gaty "serwer möhleti bilen.
9) Hil (QoS) we gözegçilik
Tech-SLO: WebRTC RTT, packet loss, bitrate, tapawut server-client time, rate 'bet. reject`, `VOID/REFUND`.
Işewürlik SLO: sessiýany saklamak, aborted rounds, şikaýatlar, CR lobby → game.
Daşbordlar: end-to-end trace ('traceId': pleýer → API → gapjyk → üpjün ediji → webhuk), geo/telekom operatorlary boýunça QoS kartoçkalary.
Alertler: ýokarlanmak 'VOID', ösüş RTT> 300 ms, packet loss> 5%, ösüş 'bet. reject` > 0. 2%.
10) Howpsuzlyk we dogruçyllyk
Hyzmatlaryň/üpjün edijileriň arasynda mTLS, webhuklarda HMAC.
Anti-replay: `X-Request-Timestamp/Nonce`, окно ±300 с.
'bet' -de idempotentlik. place ',' payout. ', PSP webhook.
Tegelekleriň dogruçyllygy: studiýa wideosyny, CV/RFID belliklerini we dileriň audit/jedeller üçin WORM ammaryna basmagy.
Çip domenlerinde CSP/Referrer-Policy; gysga TTL bilen giriş bellikleri.
11) CV/RFID işi we "hakykat çeşmesi"
RFID: çipler/rulet öýjükleri/jedel meýdançalary.
CV: kartlary/toplary tanamak, dileriň elini yzarlamak.
Elections: datçik CV bilen jedel etse - syýasat boýunça ileri tutulýan ugur (adatça RFID → CV → el bilen giriş), ähli çözgütler magazineurnalda.
12) Folbekler we zaýalanmalar
WebRTC pese gaçdy → LL-HLS-de ýumşak folbek, UI jedelleriň penjiresini öňünden azaldar (mysal üçin, 1-2 s).
CV/RFID elýeterli däl → iki gezek barlamak bilen el bilen giriş; sorag ýüze çykanda - VOID.
Edge düwün aşa ýüklendi → DNS/Anycast boýunça derrew gaýtadan balans; tölegli stollaryň/sebitleriň ileri tutulmagy.
13) Komplayens we RG
Geo-fencing: stol/üpjün edijileriň ýurt boýunça elýeterliligi.
Hukuk/ýaş taýdan ýerli dildäki overleýler.
RG-syýasatlar: töwekgelçilik-patternlerde ýumşak maslahatlar/wagt-autlar; stawkalaryň/sessiýalaryň çäkleri.
PII-izolýasiýa: pleýer PII-ni bermeýär, diňe 'playerId' lakamlary.
14) DR/HA: "gara ekrana" hukugy bolmazdan
Multi-AZ studiýasy ýa-da ätiýaçlyk meýdançasy; Enkoderler/torlar.
Garaşsyz duralgalara tapgyryň (orkestrator/CV) signallaryny goşa ýazmak.
Aragatnaşyk şablonlary we taýmingleri bolan VOID/REFUND meýilnamasy.
Yzygiderli maşklar: AZ-yň öçürilmegi, toruň zaýalanmagy, CV-iň ýitmegi.
15) Anti-patternler
Hakykat hökmünde müşderi wagtyna bil bagla.
WebRTC problemalarynda LL-HLS folback → "gara ekran" ýok.
OLTP gapjyga akym analitikasyny goýuň → gizlinlik çyralary we 'reject _ rate'.
Pul/webhuklarda idempotentligiň we HMAC-yň ýoklugy.
Görnüşsiz assets/overleýleri çalyşmagyň "sessiz" (döwülen müşderiler).
DataChannel/WebSocket (flud/DoS chat) üçin nol çäkleri.
WORM arhiwiniň ýoklugy: dogruçyllygy subut edip biljek zat ýok.
16) Live-akymy başlamak üçin çek sanawy
Studio/ingest
- Kameralar/kodlar, UPS; Şifrlemek bilen SRT-ingest.
- CV/RFID kalibrlendi, dileriň pedaly sinhronlaşdyryldy.
Mediastek
- WebRTC p95 ≤ 500 ms, LL-HLS sazlandy (segment ≤ 2 c, preload hints).
- 1080/720/480, GOP ≤ 1 c, Opus/AAC ses profilleri.
Senkronizasiýa/Oýun
- Müşderide server time, möhleti 'round. close 'barlandy.
- Taýmerler - müşderiniň overley + "gaty" serwer duralgasy.
Maliýe/Howpsuzlyk
- Pul/webhuk, HMAC + mTLS, anti-replay.
- WORM-de gezelenç we wideo magazineurnaly; Gapjygyň PITR.
Syn ediliş
- Kos-daşbordlar (RTT/PLR/bitrate), 'bet. reject`, `VOID`, `settle p95`.
- Pese gaçmak we wagt sürmek üçin aladalar.
DR/Amallar
- Ätiýaçlyk studiýasy/kanaly, folbek ssenarileri we VOID/REFUND.
- Runbooks, aragatnaşyk şablonlary, yzygiderli maşklar.
Dilerleriň hakyky göni ýaýlymy takyk sinhronlaşdyrylan media aýlawy we pul hereketlendirijisidir. WebRTC tizligi üpjün edýär, LL-HLS - durnukly folbek, SRT - ygtybarly ingest; data-kanallar möhüm signallary berýär, serwer wagty bolsa tapgyryň dogruçyllygyny sementleýär. QoS telemetriýasyny, idempotent pullaryny, howpsuzlygy we DR goşuň - oýunçy tebigy, çalt we adalatly oýny görer we operator öňünden aýdylýan SLO we marjany alar.