Come funziona la failover e il backup in iGaming
Perché una disciplina speciale DR/BCP
La piattaforma di casinò è denaro in tempo reale (portafoglio/ledger), round live (RNG/Live), pagamenti, affiliazioni e una compliance rigorosa. Ogni «buco» nella disponibilità si trasforma rapidamente in rischi finanziari e legali. Per questo motivo, l'architettura si basa su un ripristino prevedibile: obiettivi noti, scenari noti, procedure sperimentate.
Obiettivi e termini di base
RTO (Recovery Time Objective) - Tempo di ripristino del servizio.
Per portafoglio/ledger: 60-300 secondi (feelover intraregionale), 15 min (DR interregionale).
RPO (Recovery Point Objective) - Perdita di dati consentita.
Per il ledger: 0-5 secondi (replica sincrona/quasi-incrona), per il report: 15 minuti
SLA e Errore Budget formalizzano i compromessi tra velocità di cambiamento e stabilità.
Livelli di tolleranza di errore
1) Infrastruttura Multi-AZ/Multi-Region
Multi-AZ (minimo 3 zone): tutti i servizi critici sono distribuiti in zone, failover automatico database/pneumatici.
Multi-Region DR: «caldo» (Active-Active) o «caldo» (Active-Passive) seconda regione con isolamento per giurisdizione (data residency).
La soluzione quando la modalità è:- Active-Active: bassa latitanza verso i giocatori in due regioni, cross-region trader attraverso la sincronizzazione degli eventi + rigido «luogo della verità» per i calcoli.
- Active-Passive (warm): più semplice e più economico Il passivo mantiene le istanze calde e le repliche del database, ma il traffico non serve.
2) Rete e perimetro
Engress duplicati/WAF, Anycast o failover DNS con controlli sanitari.
Singoli gateway egress per cassa e provider, elenchi IP autorizzati in entrambe le regioni.
3) Dati e code
Database relazionali (Postgres): Patroni/Managed HA, repliche sincrone in AZ, repliche asincrone nella regione DR (con monitoraggio dei campi). PITR con snapshot ogni N minuti + archivio WAL.
OLAP (ClickHouse/BigQuery): replica/scardinamento la perdita è più alta (RPO fino a 15-30 min).
Cache (Redis): cluster con failover, ma non l'origine della verità; al cambio, caldo caldo.
Bus evento (Kafka/NATS): cluster mirroring e/o cross-cluster-mirroring, garanzia at-least-once, controllo dell'idampotenza sui consumatori.
4) Allegati e domini
Portafoglio/ledger: un nucleo stateful con una consistenza rigorosa, un Master Rider per regione; quando il DR interregionale è la procedura «electred writer» con il blocco di una doppia voce.
Bridge/API di gioco: stateless, feelover orizzontale per assegni health; idempotencyKey per tutte le vie finanziarie.
Bonus/notifiche/ETL: consente l'elaborazione ritardata e viene riavviata dalle code.
Cassa (PSP/Crypta) - Strategia multi-file (minimo 2 binari per paese), cambio rapido di merchant/endpoint.
5) Live-striam
WebRTC/LL-HLS gateway con edge-nodi regionali; percorsi fallback su LL-HLS in caso di deterioramento del WebRTC.
Mantenere la logica delle scommesse fuori dal lettore, in modo che il riavvio dello striam non influisca sul calcolo.
Pattern Failover
Risorsa (bidirezionale)
Pro: RTO/RPO minimi, vicinanza ai giocatori.
Contrari: complessità del display e dei conflitti di scrittura, una griglia costosa.
Pratica: «uno scrittore per dominio» + event source per riprodurre gli stati nella regione adiacente.
Attivo passivo (caldo)
I vantaggi sono il saldo prezzo/complessità.
Contro: RTO superiore, serve un piano avanzato di promozione della regione passiva.
Pratica: automatica + conferma manuale (principio a 4 occhi) quando si cambia portafoglio.
Intraregionale (Multi-AZ)
Failover automatico BD/cache/ingress.
Nessuna modifica DNS/Anycast, RTO secondo-minuto.
Backup per classe di dati
Principi:- Bacap crittografato in pace e transito, chiavi in KMS/HSM.
- Modalità immutabile (WORM) per i backup critici (protezione da cancellazione/crittografia).
- Directory dei bacapi con metadati (versione dello schema, finestra WAL, checkpoint).
- Il PITR è obbligatorio.
Dati e idampotenza: come evitare i buchi nel feelover
IdempotencyKey le richieste dì bet ". place`, `payout. request`, `cashier. webhook`.
Ledger - Solo append-only: un nuovo settle crea un record di regolazione anziché sovrascriverlo.
Le serrature transazionali/versioning del bilanciamento proteggono dalle corse quando si cambia il ruolo di scrittore.
Deduplicazione degli eventi (consumer-side, hash per campi chiave).
Cassa, PSP e crittografia: il piano B è sempre incluso
Almeno due provider per metodo di pagamento (carta/ARM), account merchant preinstallati in entrambe le regioni.
Per le stabloine, due reti (ad esempio TRC-20 e ERC-20) e due provider on/off-ramp.
Router dei pagamenti: in caso di guasto, PSP cambia istantaneamente a ridondanza e registra le cause.
I flussi KYT/AML sono duplicati; se il servizio esterno non è disponibile, «degraded mode» con escalation manuale.
Procedure operative (Runbooks)
Automatici
L'assegno Health della catena di ingress dell'API ha il portafoglio della BD.
Abilitazione automatica delle funzioni «pesanti» (tornei/missioni) durante il degrado del portafoglio.
Timeout/retrai con pausa esponenziale e dedline rigorose.
Manuale (con conferma)
Promozione della regione DR all'attivo: listini per passo, registrazioni, modelli di comma (zapport/partner/regolatore).
Rimborsi/VOID per round: codici cause, link video, firma dei responsabili.
Scongelare i pagamenti con il doppio controllo.
Esercitazioni e controlli di preparazione
Game Day/Chaos Drill mensilmente: disattivazione AZ, degrado del database, caduta del provider.
Full DR Rehearsal trimestrale: aumentare la regione del DR «in piena crescita», esaminare i veri scenari di scommesse/rimborsi.
Test di restore - Ripristina il ledger al momento T, incrocia la P&L e i tagli hash.
Tabella-top con la compilazione: chi e chi notifica quali rapporti vengono generati (regolatore, PSP, affiliati).
Osservazione e segnali di feelover
Metriche SLO: p95 latency portafoglio, quota 'bet. rejected ', tempo settle round, pagamenti SLA, blade di replica BD, Kafka-Concimers.
Eventi di commutazione: alert «rolle change», «replication lag> X», «object-lock violation».
Dashboard DR: ruolo corrente dei nodi, valutazione RPO (minuti WAL), stato della finestra PITR.
Sicurezza e compilazione
Isolamento dei dati per giurisdizione (EU/UK/CA/...) - Replica entro i limiti previsti dalle leggi.
Registri invariati (S3 Object Lock/WORM), ritocchi regolatori.
I segreti sono: rotazione delle chiavi, separazione dei compiti (dual-control) per le operazioni DR.
Trail di controllo di tutte le interruzioni e ripristini.
Anti-pattern che rompono il DR
Un PSP/una rete di stabloina per paese - nessun binario di riserva.
OLTP e OLAP su un unico database - Il ripristino blocca le operazioni viventi.
Niente - di debiti/pagamenti per i .
I Becaps senza un test di restore regolare sono «Becap di Schrodinger».
La mancanza di WORM/immutability è una vulnerabilità all'insider/malware.
Failover DNS senza TTL brevi e endpoint riscaldati.
Uno scrittore unico in due regioni è contemporaneamente la scissione della condizione.
Assegno foglio pronto per incidenti
Architettura
- Multi-AZ per tutti i servizi critici, topologia documentata.
- La regione DR con il ruolo descritto (Active-Active/Passive) e il budget.
Dati
- Postgres: PITR, snapshot, monitoraggio in lega, test di recupero regolari.
- Kafka/NATS: mirroring/archivio, repliche-piano.
- ClickHouse/OLAP: Bacapi partitici, recupero campionamenti.
- S3: Object Lock (WORM), versioni, regione crociata.
Applicazioni
- Idempotency in denaro, append-only ledger, versioning equilibrio.
- Auto-feature-degrade in caso di incidenti (tornei/missioni off).
- Controlli canari prima di cambiare regione.
Cassa e crittografia
- Due provider per metodo e due reti per pile.
- Instradamento e registro delle cause di commutazione.
- KYT/AML in modalità degrade con escalation.
Operazioni
- Runbooks con RACI e telefoni di guardia.
- Giorni Chaos mensili e esercitazioni Full-DR trimestrali.
- Modelli di comunicazione (zapport, partner, regolatore).
Osservabilità
- I dashboard RTO/RPO, gli alert dei ruoli OBD, le lame, le cancellazioni di RTO/RPO.
- Controllo-login di failover e ripristino.
L'affidabilità non è il pulsante del feelover, ma un sistema di abitudini: isolamento geografico, RTO/RPO prevedibili, denaro idompotente, cassa multi-valigetta, becap immutabili, esercitazioni regolari e comunicazioni trasparenti. Questa disciplina consente di superare i guasti senza perdite nel ledger, senza giri «gonfiati» e senza colpire la fiducia di giocatori e regolatori.