Come funziona l'architettura backend del casinò
1) Quadro completo: domini e flussi di dati
Domini chiave:- Identity & Accounts - Registrazione, autenticazione, ruoli, dispositivi, sessioni.
- Wallet & Ledger - Contanti, portafogli bonus, transazioni, trader (append-only).
- Gaming & Bets - sessioni di giochi, scommesse, round, calcolo di risultati, integrazione (RNG/Live/Crash, ecc.).
- Bonuses & Promotions - frivole, cashback, voucher, wagering (HBH), anti-Abuse.
- Payments (Cashier) - Lui-Rampe/Off-Rampe: mappe, APM, cripta/stiblocina, riferimento KYC.
- KYC/AML/KYT & RG - Verifica identità/indirizzo/reddito, screening delle transazioni, limiti e timeout.
- Risk & Compliance - limiti di puntata/pagamento, elenchi di sanzioni, geo-blocking, controllo.
- Catalog & Lobby è un elenco di provider, giochi, categorie, limiti; Varianti A/B.
- Reporting & BI - P&L, GGR/NGR, trattenimento, ciclo di vita del giocatore, affiliati.
- Osservabilità & Ops - fogli, metriche, tracciati, alert, segnali di frodo.
Orchestrazione: la piattaforma moderna è costruita da event-driven: i servizi vengono scambiati attraverso un pneumatico (Kafka/NATS), le operazioni critiche vengono linearizzate (portafoglio/ledger), i sottosistemi laterali vengono firmati e reagiti asincronicamente (bonus, BI, notifiche).
2) Modello a strati
Livello Edge: gateway API, protezione WAF/bot, rate limits, filtri geo/IP, feature-flag.
Livello di servizio: microservizi autonomi per dominio i contratti sincronizzati sono solo quelli che richiedono consistenza istantanea (ad esempio il debito del portafoglio a puntata).
Bus eventi - Eventi aziendali principali ('bet. placed`, `round. settled`, `bonus. issued`, `kyc. verified`, `payout. requested`).
Dati OLTP (Postgres/MySQL) per le transazioni KV/Cache (Redis) per sessioni/limiti; Archivio oggetti (S3) per i fogli e l'esportazione OLAP (ClickHouse/BigQuery) per gli analisti.
3) Portafoglio e candelabro: cuore della piattaforma
Principi:- Append-only ledger: ogni transazione finanziaria è un record con tipo, importo, valuta, riferimento alla fonte (tasso, bonus, deposito).
- I bilanci contanti e bonus sono stati sparpagliati. Non si possono mischiare soldi e bonus; utilizza il criterio delle origini dei fondi.
- : tasso = debito del portafoglio o bonus + creazione hold; Il calcolo del round toglie hold e effettua un prestito/debito sul risultato.
- `LEDGER: HOLD` (−10. 00 EUR, source: cash, ref: betId)
- `LEDGER: SETTLE_DEBIT` (−10. 00 EUR) + `LEDGER: PAYOUT` (+36. 00 EUR) - se WIN
- `LEDGER: HOLD_RELEASE` (+10. 00 EUR) - se VOID/PUSH
- Operazioni Idempotent (chiavi di Idempotenenza per «requestId»).
- Versioning del bilanciamento (valoristic locking) per la protezione dalle corse.
- Valuta di calcolo chiara e fissa i corsi di conversione.
4) Integrazione con i provider di giochi
Cartelli portafogli:- Seamless - Saldo dell'operatore la scommessa/calcolo passa attraverso la nostra API in tempo reale.
- Transfer - deposito in banca giochi presso il provider; più attrito, ma più basso requisito per la farmacia del portafoglio.
- `bet. place 'pre-auth nel portafoglio (hold) ' accetted/rejected '.
- `round. settle'dal provider (webhook/WS) settle in un lettore un evento in un pneumatico di segnalazione/bonus.
Standardizzazione via bridge: diagrammi di eventi e identificatori «roundId/betId», tabella di mapping dei limiti e side-bets, normalizzazione degli errori.
5) Bonus, wagering e anti-abuse
Modelli: bonus di deposito, fresine, rimborsi (cashback), missioni, tornei.
Wagering - Il progresso del fluido viene memorizzato separatamente; regola «quali scommesse contano» (interessi per categoria di gioco).
La priorità del prelievo è prima il bonus, poi quello reale o viceversa la politica.
Gli anti-pattern del giocatore - scommesse su risultati opposti, scommesse minime per il progresso pharma, spostamento tra giochi con pesi diversi - sono prese da regole e scorciatoie.
6) KYC/AML/KYT и Responsible Gaming (RG)
KYC: verifica ID/indirizzo/età; gli stati controllano i limiti (deposit/withdraw/betMax).
AML/KYT: screening dei canali di pagamento e degli indirizzi on-chain (per la crittografia), elenchi delle sanzioni, fonti di fondi.
RG: limiti diurni/settimanali, timeout, auto-esclusione; i controlli di blocco vengono eseguiti fino à bet. place` и `payout. request`.
7) Cassa: depositi e pagamenti
Depositi: provider di carte/ARM, cripta/stable, metodi locali; Conferma webhook Protezione contro i rischi di charjback.
Pagamenti: code, limiti, principio a 4 occhi per importi ingenti; Le fonti di finanziamento sono «Solo il saldo cash».
Lui-Rampe/Rampe-Rampe di crittografia: conversione automatica, indirizzi KYT, esposizione hedge.
8) Limiti, rischi e regole regionali
Profili di limite (DEFAULT, VIP _ A, VIP _ B, ULTRA) per paese/valuta/CUS.
Geo-blocking IP/GPS/documento.
Sovrapposizioni per gioco/categoria, restrizioni dei provider nelle giurisdizioni.
Risposta alle anomalie: picchi di puntata, correlazione dispositivi/pagamenti, molti «VOID» da un singolo utente.
9) Osservabilità e funzionamento
Metriche: ritardo del portafoglio, disdetta delle scommesse, tempo di pagamento del round, conversione del depozita→stavka, GGR/NGR, pagamento della SLA, quota di bonus.
Fogli e tracce: «traceId» correlati in tutti gli eventi; archiviare eventi crudi in un archivio freddo.
Alert: degrado della risposta del portafoglio, picco «VOID», errore di segnalazione, crescita «RG _ BLOCKED».
Runbooks: procedure chiare per gli incidenti (decadimento del provider, disinnesco, annullamento dei round).
10) Sicurezza e privacy
Auth: short-lived JWT/opache tokens, rotazione delle chiavi ('kid') per integrazioni critiche.
Criteri di accesso: separazione rigorosa dei ruoli (operazioni, finanza, sapport), 2FA; per i pagamenti più importanti, ok in seconda persona.
Data privacy: crittografia PII, tornizzazione dei dati di pagamento, riduzione dello storage GDPR/Rimozione su richiesta.
Controllo: registri invariati, firma eventi critici, esportazione per il regolatore.
11) Scalabilità e disponibilità
I servizi Statles dietro lo skailer automatico; shard orizzontale per tabelle calde (scommesse, login eventi).
Ledger - Riserva verticale + replica per la lettura/rendicontazione Congelamento degli schemi di migrazione tramite shadow table.
Cache: Redis con TTL e strategie dual-chec (read-through + invalidate per eventi).
DR/HA: multi-AZ, backup con ripristino regolare, RPO/RTO a livello di regolamentazione.
Le modalità Degradation includono la cassa autonoma, la disattivazione dei bonus «pesanti», la traduzione dei giochi live in maintenance quando il bus non è disponibile.
12) Contratti e esempi
Puntata (sync, JSON/REST o gRPC):json
POST /bets/place
{
"requestId": "9a7f-…", "playerId": "p_123", "wallet": "cash",
"roundId": "R-2025-10-17-19:20:05-PRAGM-Table12", "gameId": "pragm_live_roulette", "selection": [{"market":"straight","value":"17"}], "stake": {"amount":"10. 00","currency":"EUR"}, "device": {"ip":"203. 0. 113. 5","ua":"Mozilla/..."}
}
Risposta:
json
{
"status": "ACCEPTED", "betId": "bet_8cd…", "balanceAfter": "245. 30", "hold": "10. 00", "limits": {"maxBet":"5000. 00"}
}
Evento bus (async):
json
{
"event":"round. settled", "roundId":"R-2025-10-17-19:20:05-PRAGM-Table12", "bets":[{"betId":"bet_8cd…","outcome":"WIN","stake":"10. 00","payout":"360. 00"}], "playerId":"p_123", "ts":"2025-10-17T19:20:09. 231Z", "traceId":"tr_5f1…"
}
13) Anti-pattern (che rompe la piattaforma)
Miscelare bonus e denaro in una singola transazione senza origine.
Token a lunga vita e conservarli su un cliente.
Nessuna idampotenza nelle operazioni critiche (prese di debito).
SQL monolitico per database di guerra (OLAP contro OLTP).
Affidamento cieco al provider senza reconcile o limiti.
Nessun Timeson Standard (UTC ovunque!) negli identificatori dei round e nei rapporti.
Le chiamate sincronizzate nei domini non finanziari (bonus/notifiche) bloccano la puntata.
14) Assegno foglio di avvio backend casinò
Finanza e portafoglio
- Ledger append-only, idimpotenza, versione del bilanciamento.
- Separazione cash/bonus, criterio delle origini.
- I corsi/conversione vengono registrati durante l'operazione.
Integrazione dei giochi
- Contratto unico scommesse/calcolo, formato «roundId/betId».
- Portafoglio predefinito Seamless Transfer è solo dove è giustificato.
- Script VOID automatico/REFUND.
KYC/AML/RG
- Criteri prima dell'ammissione alla quota/pagamento; Gli stati KYC ↔ i limiti.
- KYT per on-chain, screening sanzionatorio, conservazione della base di prova.
Cassa
- Webhook/firme, doppie/retrai, riavcile con PSP/cripto provider.
- 4-eyes per i pagamenti più importanti, registro delle azioni degli operatori.
Osservabilità
- Le metriche del portafoglio, round-settle latency, il rifiuto delle scommesse, pagamenti SLA.
- Le tracce sono passanti (traceId), alert, runbooks.
Sicurezza
- mTLS/HMAC, JWT con TTL breve, rotazione delle chiavi.
- Ruoli/diritti, 2FA, tornizzazione dei dati di pagamento.
Dati
- Separazione OLTP/OLAP, CDC in DWH, S3 per eventi crudi.
- Backup e test di recupero regolari.
15) Totale
L'architettura del backend del casinò è un nucleo rigoroso di denaro e scommesse con consistenza lineare e una periferica flessibile sugli eventi: bonus, analisi, comunicazioni. Il successo non è determinato dal numero di microservizi, ma dalla disciplina: limiti di dominio nitidi, senza magia, idampotenza, osservabilità e completamento predefiniti. Con questa base, la piattaforma è scalabile per paese/valuta/provider e resiste a carichi di lavoro senza compromessi su sicurezza e denaro.