RGS slotların sabitliyini və telemetriyasını necə təmin edir
Məqalənin tam mətni
1) sabitlik və şəffaflıq RGS rolu
RGS (Remote Game Server) - studiyanın RNG məzmununun nüvəsidir. O, raundların nəticələrini yaradır, bonusların vəziyyətini idarə edir, platformanın/aqreqatorun ödəniş konturu ilə inteqrasiya edir və BI və tənzimləyicilərə telemetriya verir. Onun sabitliyindən asılıdır: settlement dubllarının olmaması, turun aşağı gizliliyi, cekpotların/missiyaların düzgünlüyü və hesabatın etibarlılığı.
2) Pul üzərində hədəf SLO və invariantlar
Biznes SLO (minimum):- p95 'bet/settle' <200 ms (ödəniş hopları olmadan), səhv '<0. 1%`.
- «İtirilmiş/dublyaj edilmiş settlementlər» = 0.
- Hadisələrin şinə/BI ≤ çatdırılması 5 dəq.
- Kritik API (bet/settle/rollback) mövcudluğu ≥ 99. 95%.
- Balans həqiqəti - platformanın cüzdanında, RGS yalnız raundların vəziyyətini saxlayır.
- Bütün pul çağırışları idempotentdir: 'Idempotency-Key', unikal 'bet _ id '/' round _ id'.
- Kompensasiya - dastanlarla deyil, «əl düzəlişləri» ilə.
3) «Anti-kövrək» sabitlik arxitekturası
3. 1 İdempotentlik və dastanlar
Əmrlər 'bet. authorize`, `bet. settle ',' rollback 'idempotentlik və deduplikasiya açarı ilə.
Aydın statuslu «mərc → nəticə → kredit» dastanı ('started', 'settled _ pending _ credit', 'credited', 'compensated').
3. 2 Outbox/CDC və zəmanətli çatdırılma
Hadisə tur vəziyyətinin dəyişməsi ilə bir əməliyyat çərçivəsində outbox-da qeyd olunur.
Fon publişer → şina (Kafka/Pulsar); DWH üçün - CDC (Debezium/analoqlar).
3. 3 Back-pressure və növbələr
Bufer 'settle '/' jackpot. trigger 'növbələrdə; «fırtına bahis» qarşı müdafiə.
Token-baketlər/« session _ id »və provayder limitləri; graceful-deqradasiya «no new sessions».
3. 4 Kanarya relizləri və fiça bayraqları
SLO avto rollback yeni versiyası üçün 1-5% trafik.
Mübahisəli mexaniklərin daxil edilməsi (Bonus Buy, yeni RTP hovuzları) - instant off ilə fichflag vasitəsilə.
3. 5 State və miqyası
Oyun state minimal; sticky-seanslar 'session _ id' və ya xarici stor (Redis/SQL) ilə TTL + jitter.
API cəbhələrindən asılı olmayaraq 'settle '/' jackpot' oxucularının üfüqi miqyaslandırılması.
3. 6 Inteqrasiya Sağlamlığı
Provayder/aqreqatorun sağlamlıq testləri: 'ping', 'config', 'wallet' latency.
«Xəstə» bölgələrə/kanallara yükün avtomatik azaldılması.
4) qorunması və default uyğunluq
perimetr daxilində mTLS + sorğu imzaları (HMAC/EdDSA), qısa ömürlü tokenlər.
WAF/bot qorunması, device-fingerprinting, velocity-qaydaları.
Sirlər Vault/HSM, KMS şifrələmə at-rest, həssas sahələrin tokenizasiyası.
WORM auditi: dəyişməz riyaziyyat/limit/cekpot dəyişiklik jurnalı.
RGS məlumat residency hörmət: PII/Region log (EU/UK/BR...) cross-region oxu qadağan.
5) Tam telemetriya xəritəsi: nəyi və necə ölçmək olar
5. 1 Biznes metriklər (oyun)
'bets _ per _ min', 'active _ sessions', 'avg _ bet', 'win _ rate', 'hit _ rate', 'rpt' (RTP faktiki), 'bonus _ entry _ rate', 'freespin _ rounds', 'feature _ buy _ count', 'jackpot _ contrib/trigger', 'settle _ lag _ ms' (nəticədən kreditə qədər olan vaxt), 'wager _ progress'.
5. 2 Texniki metriklər
p50/p95/p99 latentliyi 'bet', 'settle', 'rollback', 'wallet. debit/credit`.
Error rate end-point, səhv növləri (5xx/4xx/business).
Saturation: CPU/Memory/GC, queue depth, thread pool utilization.
Шина: lag per partition, consumer liveness, retry/backoff counters.
5. 3 RG/AML/KYC siqnalları
`rg. limit. hit`, `rg. timeout. started/ended`, `self_exclusion. flagged`.
Velocity anomaliyalar, ümumi cihazlar/kartlar (antifrod-feeds üçün), 'aml. alert. opened`.
5. 4 Log Kateqoriyalar
Audit (WORM): math, RTP hovuzu, limitlər, cekpot parametrlərinin dəyişdirilməsi.
İnteqrasiya: imzalar, cüzdan/aqreqator statusu, retraj səbəbləri.
Hadisələr: düşmə taykodları, trace_id konteksti, əvvəl/sonra hadisələrin «quyruğu».
6) Hadisə sxemləri və müqavilələr
6. 1 Əsas topiklər (Kafka nümunəsi)
6. 2 Hadisə nümunəsi 'bet. settled`
json
{
"event_id": "uuid",  "event_type": "bet. settled",  "occurred_at": "2025-10-23T16:21:05Z",  "tenant_id": "brand-7",  "player_id": "p_19f3",  "round_id": "r_8c12",  "trace_id": "tr_a1b2c3",  "payload": {
"game_id": "studio:slot_forge_02",   "bet": {"amount": 1. 00, "currency": "EUR"},   "win": {"amount": 14. 60, "currency": "EUR"},   "bonus_state": {"in_bonus": true, "freespins_left": 7},   "jackpot": {"contrib": 0. 01, "triggered": false}
},  "idempotency_key": "bet_r_8c12_1"
}Tələblər: Schema Registry (Avro/JSON), backward-compatible versiyası, ciddi partizan açarları ('tenant _ id', 'player _ id').
7) Daşbordlar və Alertinq («dərhal» görmək üçün)
Oyun ekranı (NOC/məhsul):- bets/min, settle_lag, RTP-fakt/sertifikatlaşdırılmış sıra, hit_rate, jackpot latency.
- Geo/provayderlər/oyunlar üçün istilik xəritəsi, top error codes.
- p95 per endpoint, error rate, queue depth, consumer lag, CPU/mem, TLS errors.
- Wallet/aggregator health, retry storms, backoff effectiveness.
- p95 'settle'> hədəf X ardıcıl dəqiqə.
- error rate 'bet/settle'> Y% regionda/oyunda.
- lag şinlər> Z saniyə.
- N dəqiqə üçün drift RTP> icazə verilən dəhliz (sürətli diaqnostika üçün).
8) Xaos-mühəndislik və təlimlər
PSP/cüzdan oflayn rejimdə: saqların/retrayların, blokların yoxlanılması 'no new sessions'.
Şəbəkə fırtınaları/ikiqat çatdırılma: idempotentlik və deduplikasiya.
BD/cache yavaşlaması: back-pressure, graceful degradation.
Bölgənin düşməsi: RPO ≤ 5 dəq, RTO ≤ 30 dəq, outbox sinxronizasiya.
9) math versiyası və konfiqurasiya idarə
Hər hansı bir riyaziyyat/RTP dəyişikliyi - bild, sertifikatlaşdırma, köhnə filialın friz yeni versiyası.
bayraqları (nominallar, limitlər, geo-qadağalar) - «dörd gözlü» və WORM auditli versiyalı anbarda.
«Blue/Green» katover assets (CDN) + API kanareki.
10) Hadisələr: detektivdən postmortemə qədər
1. SLO-alertlər/anomaliyalar detekti.
2. Deqradasiya (stop-new-sessions, mübahisəli fiçanın bağlanması, ehtiyat işçilərə köçürülməsi).
3. Saga/rollback vasitəsilə kompensasiya, cüzdan və cekpot cüzdan ilə müqayisə.
4. Postmortem: taymline, ilkin səbəb, təkrarlanmamaq üçün hərəkətlər (bayraqlara nəzarət, müqavilə testləri, limitlər).
11) Studiya yoxlama siyahısı (RGS) - sabitlik və telemetriya
- İdempotentlik 'bet/settle/rollback', unikal 'bet _ id '/' round _ id'.
- Outbox/CDC hər yerdə; heç bir nəşr «yan keçmək» əməliyyatlar.
- Pul yollarında dastanlar; əl düzəlişləri əvəzinə kompensasiya hadisələri.
- Back-pressure, növbələr, seans/oyun/region limitləri; «no new sessions» rejimi.
- Kanarya relizlər/fitflags, SLO avto rollback.
- Metrik və daşbordların tam dəsti; SLO büdcəsinə görə alertlər.
- WAF/mTLS, imzalar, Vault/HSM, WORM auditi.
- Xaos təlimləri (PSP oflayn, iki hadisə, deqradasiya DB).
- math/RTP versiyası və «dörd göz» konfiqurasiya idarə.
- Data residency: regional log/PII, cross oxu qadağan.
12) Check-list operator/aqreqator - studiya nə tələb
- SLO və real dashboard p95/p99, error rate, settle lag, jackpot latency.
- Dok Species API + Hadisə Sxemləri (Schema Registry), versiyası tarixi.
- Hadisə/postmortem siyasəti, rollback/compensation protokolları.
- İdempotentlik dəlilləri (deduplikasiya açarları, dubl test halları).
- Kanarya relizlər, fitness, instant off imkanı.
- WORM log math/limitləri dəyişiklik; RBAC/Müvəqqəti tokenlər.
- Data residency və geo konfiqurasiyalar, yerli hesabatlar və RG-hook.
- Jackpot cüzdan və cüzdan platforma müntəzəm yoxlama.
13) Qırmızı bayraqlar (anti-nümunələr)
DB-də nəticələrin/balansların əl ilə düzəldilməsi.
outbox/CDC olmadan telemetriya nəşr (itirilmiş hadisələr).
İdempotentliyin olmaması → iki settlement.
back-pressure olmadan monolit: «fırtına» bütün RGS qoyur.
Kanaryalar/fitflaglar yoxdur, yalnız «big bang» buraxılışları.
BI/OLTP-DD döyüş ilə tənzimləyici hesabatlar.
Heç bir WORM audit dəyişiklik riyaziyyat və jackpot.
Sabit RGS ciddi pul invariantları (idempotentlik, dastanlar, outbox), idarə olunan performans (növbələr, back-pressure, kanarya relizləri) və şəffaf telemetriya (hadisə müqavilələri, SLO daşbordları, WORM-audit) üzərində qurulur. Belə bir təməl studiyaya və operatora inam verir: raundlar dürüst və sürətli, pul qorunur, hesabat etibarlıdır və insidentlər nadir, qısa və başa düşüləndir.
