Architettura casino core: livelli, moduli, bus dati
Testo completo dell'articolo
1) Quadro completo: di cosa consiste il casinò core
Casinò core è una serie di servizi di dominio che garantiscono la registrazione/identificazione dei giocatori, l'acquisizione/conservazione di denaro, il calcolo delle scommesse, l'economia bonus, il controllo dei rischi e la regolamentazione. Sullo schema dall'alto verso il basso:1. Livello Edge (perimetro esterno): API gateway, WAF/bot-protezione, rate limiting, servizio-mesh ingress, geo/filtri legali.
2. Domain-слой (бизнес-логика): PAM, Wallet/Ledger, Bonus Engine, Cashier/PSP Orchestration, Game Sessions, Risk/Anti-Fraud, RG, Jackpot/Tournaments, Affiliates, CRM/Notifications, Compliance/Reporting.
3. Livello Data/Integration: pneumatici di eventi (Kafka/Pulsar), code (SQS/Rabbit), CDC/Outbox, ETL/ELT (in vetrina BI), Feature Store/ML, Cache (Redis), OLTP BD (LB) Postges/Oracle), OLAP (ClickHouse/BigQuery).
4. Osservabilità & SecOps: metrics/tracing/logs, SIEM/SOAR, segreti (Vault/HSM), chiavi e token, RBAC/ABAC, audit log (WORM).
2) Moduli di dominio (minimo necessario)
2. 1 PAM (Player Account Management)
Registrazione/login, SSO, gestione di sessioni e dispositivi, KBA/2FA.
Profilo: età/geo/valuta/segmenti, stato RG/auto-esclusione.
Limitazioni: accesso ai giochi di giurisdizione, bani, assegni reali.
2. 2 Wallet/Ledger (contorno in denaro)
Conti multivalori, doppia voce (debit/credit), cavi invariati.
Transazioni atomiche di scommesse e vincite (idempotency keys, exactly-once all'interno del dominio).
Colline a schiena/round attivi; Conti in transito del jackpot.
Interazione solo tramite comandi (command API), lettura attraverso proiezioni (CQRS).
2. 3 Cashier / PSP Orchestration
Routing dei pagamenti geo/bin-range/screening; Cascata in caso di guasto.
Regole 3-DS/AVS/velocity; Tornizzazione delle carte on-/off-ramp per la cripta.
≤ SLO: ≥ 3s p95, totale successo del deposito dell '85% su geo.
2. 4 Game Sessions (integrazioni con provider)
Creazione di sessioni di gioco (token handshake), validazione del paese/valuta/età.
Gli eventi si muovono su un pneumatico; RNG e calcolo sono dalla parte del provider.
Anti-Abuse: min bet, frequenza degli spin, divieto di cambio del nome «dentro la rubrica».
2. 5 Bonus Engine
Sterzi di bonus (issued/locked/active/profeit), wager, contributo giochi, max bet/max cashout, deadline.
Missioni/ricerche, spine, cache; compatibilità con tornei/jackpot.
Rigida validità delle regole al momento della scommessa; una storia immutabile.
2. 6 Risk / Anti-Fraud
Segnali comportamentali (velocità delle scommesse, account multi, dispositivi condivisi/mappe).
Regole velocity, controllo grafico delle relazioni, conformeback defense.
Reazioni: morbide (limiti), rigide (blocco/escalation in AML).
2. 7 Responsible Gambling (RG)
Limiti di deposito/perdita/tasso/tempo, timeout, auto-esclusione.
«Realtà-assegni» e interruzioni forzate; Conservazione dei consensi e dei cavi.
2. 8 Jackpots & Tournaments
Locale/in rete, fix/progressivo; La quota di ogni puntata.
Liderboard pubblici; Verifica indipendente dei risultati; anti-bot.
2. 9 Affiliates & CRM
Tracking secondario-ID, attribuzione (CPA/RevShare/Hybrid), post-back.
Segmentazione, trigger, regole supplence, omnicanale (push/e-mail/SMS).
2. 10 Compliance & Reporting
Scarichi regolatori, rapporti fiscali, SAR/TR; controllo-logist WORM.
Data residency per giurisdizione (EU/UK/BR, ecc.).
3) Modello evento e bus dati
3. 1 Topic di base (esempio Kafka-Neuring)
`player. registered`, `player. kyc. status. changed`- `wallet. debit. requested/committed/failed`, `wallet. credit.`
- `game. session. started/ended`, `bet. placed`, `bet. settled`
- `bonus. issued/consumed/forfeited`, `wager. progress. updated`
- `rg. limit. hit`, `rg. timeout. started/ended`
- `cashier. deposit. requested/succeeded/failed`, `withdrawal. requested/sent`
- `risk. alert. raised/closed`, `aml. case. opened`
- `jackpot. contribution/triggered`, `tournament. score. updated`
Contratti: Avro/JSON Schema + Schema Registry, versioning (backward compatibile), chiavi di idampotenza rigorose.
3. 2 Modello evento (semplificato)
json
{
"event_id": "uuid",  "event_type": "bet. settled",  "occurred_at": "2025-10-23T16:09:12Z",  "tenant_id": "brand-1",  "player_id": "p_123",  "session_id": "s_456",  "trace_id": "t_abc",  "payload": {
"game_id": "provider:slot_777",   "bet_amount": {"amount": 2. 00, "currency": "EUR"},   "win_amount": {"amount": 36. 40, "currency": "EUR"},   "bonus_impacted": true
}
}Regola: Eventi invariati; gli aggiustamenti sono eventi di compensazione separati.
3. 3 Outbox & CDC
Tutte le transazioni di dominio scrivono un evento in outbox nella stessa banca dati e inviano un pub di sfondo al bus.
CDC (Debezium e analoghi) - Per i flussi secondari in DWH senza carico OLTP.
4) Consistenza, saghe e idampotenza
Sags per processi lunghi (deposito/cache, convalida, premi di torneo).
Idampotenza di tutti i comandi: «Idempotency-Key» + deduplicazione sul lato del servizio.
Strategia di coerenza: nel portafoglio è rigorosamente (ACID), per il resto è eventual (attraverso proiezioni).
Risarcimenti: eventi di dominio separati, disabilitazione delle modifiche manuali all'interno del lettore.
5) Dati: OLTP/OLAP, cache, proiezioni
OLTP: Postges/Oracle per portafogli, PAM, bonus (p95 <150 ms).
Redis per sessioni, limiti, proiezioni calde di liderbord.
OLAP: ClickHouse/BigQuery — витрины KPI (FTD, NGR, ARPPU, Retention, LTV, Wager progress, Risk flags).
Proiezioni (CQRS) - Ricerca rapida per giocatori/transazioni (<2s), real-time del pannello RG/Rischio.
6) Pianificazione dei pagamenti: più dettagliato
Regole di routing: geo, BIN, rischio-score, carico, costo.
Cascata: PSP1 per PSP2 senza perdita del cestino; I retrai sono in pausa esponenziale.
Report giornalieri PSP per il registro del portafoglio; Le discrepanze automatiche sono →.
7) Integrazione con i provider di giochi
Gateway-pattern è un unico Game API, mupping valute/fitch, assegno health con degrado.
Settlement - Il collante in entrata del provider ha un comando di dominio wallet. settle con la chiave di idempotenza.
Blocchi minimi; scommesse/vincite - un paio di cavi atomici.
8) Osservabilità e SLO
Метрики: p95/p99 latency per service, error rate, saturation, business KPIs (bets/min, settle lag, deposit success).
Traccia: trace _ id passante (edge→domeny→shina→konsyumery).
I loghi sono strutturati con la modifica del PII.
SLO-minimo:- Farmacia core 99,95%
- p95 portafogli <150 ms
- Settementi persi/duplicati = 0
- Tempo di ritardo degli eventi fino a BI <5 min
9) Sicurezza e conformità
Zero-trust: mTLS all'interno di mesh, token a vita corta, RBAC/ABAC, il principio dei diritti più bassi.
Segreti: Vault/HSM, rotazione delle chiavi, crittografia KMS dei dati «at rest».
PCI DSS/GDPR/analogie locali: segmentazione degli ambienti, tornitura PAN, DLP, Registro di accesso (WORM).
WAF/BOT - Filtri per i segnali comportamentali, device-fingerprinting.
Data residency: Sharding per regione; Divieto dei PII crocifissi.
10) Disponibilità, DR e release
Asset-asset/asset-passivo per regione; RPO 5 min, RTO 30 min.
Release canarie/feature-flag, rimborsi; migrazione del database - attraverso ghost/indici secondari.
Disaster engineering: feed di rete/PSP/provider regolari per verificare il degrado.
11) Gestione degli schemi e della qualità dei dati
Data contracts - Versioning degli eventi (semver), test contrattuali dei produttori/consooler.
Proverance: catalogo dati (data catalog), livello di fiducia nelle origini, SLA aggiornamenti delle vetrine.
Qualità: deduplicazione, eventi tardivi (late arrivals), idempotent upserts in OLAP.
12) Ruoli e accessibilità (Back-office)
RBAC: ruoli ben definiti (finanza, rischio, zapport, marketing, compilation).
Attività Creta: conferma di «4 occhi», registro operazioni invariate.
Schermo PII - Maschera; Accesso completo a richiesta/token temporali.
13) Metriche di maturità casinò core (autostima)
1. Affidabilità: SLO portafogli/biglietteria/sessioni vengono eseguiti per il 99% dei giorni.
2. Dati: gli eventi entrano nella BI da 5 minuti; consistenza ledgers vs PSP 99,99%.
3. Bonus: costruttore di regole senza modifiche al database; Controllo delle modifiche.
4. RG/AML: segnali real-time; rapporti/scarichi automatizzati.
5. Incidenti: MTTR <30 mine; I postmortem sono pubblici all'interno dell'azienda.
6. Test: test contrattuali, di carico, di caos; cassette di prova dei provider/PSP.
14) Assegno foglio del revisore dell'architettura
- C'è outbox/CDC, l'evento viene pubblicato in modo atomico con la transazione.
- Ledger è stato implementato come libro di fili immutabile; C'è un controllo PSP.
- Tutti i comandi sono idipotenti; c'è la deduplicazione delle chiavi.
- Separati da OLTP e OLAP; le proiezioni non colpiscono i database di guerra.
- I limiti RG vengono applicati in sincrono al tasso; reality-check è obbligatorio.
- Game gateway viene degradato a read-only/» no new sessions» in caso di incidenti.
- Il piano DR viene regolarmente esercitato; i Becap sono controllati dal recupero.
- La politica chiavi/segreti e la loro rotazione è documentata.
- I report compliance vengono raccolti automaticamente (senza lavoro manuale Excel).
- Logi di verifica - WORM, accesso ai diritti minimi.
15) Anti-pattern («bandiere rosse»)
Correzioni manuali di bilanci e bonus nel database.
Combinazione API pubblica e privata, assenza di API gateway.
Registra eventi oltre le transazioni di dominio (non tramite outbox).
Portafoglio monolitico e bonus senza idepotenza e saghe.
Un database unico «per tutto» + richieste BI su schema di combattimento.
Nessuna versioning degli eventi e test contrattuali.
Nessun registro delle modifiche alle regole di bonus e alle formule di torneo.
Rifiuti di pagamento senza cascata; «prova più tardi» come strategia.
Nessuno strumento RG da scatola; licenza di fiducia.
Casinò core è una rete di servizi estremamente limitata ai diritti, dove il denaro e la responsabilità sono primari. L'architettura forte si basa su tre pilastri:
1. Rigida integrità del denaro (ledger, idampotenza, saghe, outbox/CDC), 2. Eventi e osservabilità (contratti, tracciabilità, SLO, vetrine BI), 3. Protezione e compilazione predefinita (zero-trust, PCI/GDPR, RG/AML).
Costruendo queste basi, l'operatore scalerà i contenuti, l'economia bonus e il marketing senza compromettere il denaro principale dei giocatori e la reputazione del marchio.
