Gestione dei segnali in tempo reale
1) Assegnazione e valore aziendale
Il flusso real-time è necessario per reagire «qui e ora»:- Antifrode/AML: strutturazione dei depositi, «mulling», attacchi velocity.
- Resonibile Gaming (RG) - Superamento dei limiti, pattern di rischio del comportamento.
- Rischio/Complaens: screening sanzionatorio durante la registrazione/transazione online.
- Personalizzazione: trigger bonus/missioni, campagne reattive.
- Operazioni/SRE: degrado SLA, scale di errore, anomalie delle metriche.
Obiettivi chiave: ritardo basso (p95 0. 5-5 c), alta completezza (≥99. 5%), resistenza ai picchi.
2) Tassonomia dei segnali
Transazioni: 'payment. deposit/withdraw/chargeback`.
Giochi: 'game. bet/payout`, `game. session_start/stop`.
Autenticazione: 'auth. login/failure ', cambio dispositivi/geo.
Comportamenti: velocità delle scommesse, aumento esponenziale della somma, attività notturna.
Sala operatoria: 'api. latency`, `error. rate, tempesta di riavvio.
Ogni tipo ha schema, proprietario (domain owner), criticità, SLO e regole «late data».
3) Architettura di riferimento del tracciato real-time
1. Ingest e pneumatico: Edge Kafka/Redpanda (partizionamento per user _ id/tenant).
2. Streaming-движок: Flink/Spark Structured Streaming/Beam; operatori stateful, CEP.
3. Arricchimento online: tabella lookup (Redis/Scylla/ClickHouse Read-Only), kash provider (sanzioni/CUS).
- Alert topic/kue (case management, SOAR).
- Fichestor online (compilare i modelli).
- Vetrine Gold-Strim (dashboard operativi).
- Storage caldo per analisi rapide (ClickHouse/Pinot/Druid).
- 5. Archivio/Forensic - Piegatura invariata in Lake (Parquet, time-travel).
- 6. Osservabilità: tracsing/metriche/logi + lineage.
4) Finestre, watermarks e «late data»
Viste finestre:- Tumbling - finestre fisse (ad esempio, 1 min) - unità semplici.
- Hopping: sovrapponibili (ad esempio, passo 30 c, finestra 2 min) - metriche lisce.
- Le interruzioni di inattività sono un'analisi comportamentale.
- Watermarks: il limite della conoscenza del tempo per l'event-time; permettiamo il ritardo (allowed lateness, per esempio, 2 minuti).
- Strategie tardive: preemissione di regolazioni, rifornimento «late = true», DLQ.
5) Operatori e deduplicazione stateful
Chiave: «user _ id», «payment». account_id`, `device_id`.
Stato: sommatori, contatori scorrevoli, filtri bloom per idempotency.
Deadup: memorizza '(event _ id, seen _ at)' in state/kv; TTL = 24-72 ore
Exactly-Once: transazioni sink'e (2-phase), operazioni upsert idipotenti.
6) Arricchimento del flusso
Lookup-joyn: limiti RG, rischio-scansione utente, livello KYC, geo/ASN.
Chiamate asincroni: registro delle sanzioni/antifrode provider (async I/O, timeout e fallback).
Regolazione valuta/timesone: unificazione a UTC e valuta di base; fissa «fx _ source».
7) CEP - Rilevamento di pattern complessi
Esempi di regole:- Strutturing: deposito ≥3 per 10 min, ciascuna soglia di segnalazione, totale> X.
- Device-switch: 3 dispositivi diversi in 15 min + cambio IP/ASN.
- RG-fatige: puntate totali in 1 ora> limite + perdite ≥ Y
- Ops-storm: p95 latency> 2 x base, 5xx> 3% in 5 minuti finestra.
CEP è facile da esprimere in Flink CEP/SQL o nelle librerie dei modelli di evento.
8) Fici online e modelli
Feature pipelines - Contatori, velocity metriche, tempo dall'ultimo evento, share-of-wallet.
Coerenza online/offline: una base di trasformazione in codice Test di ricreazione.
Modelli light (logit/GBDT) sincronizzati pesante - asincrona attraverso la fila.
Controllo della deriva: PSI/KS e alert; «lanci scuri» per i nuovi modelli.
9) Garanzie di consegna e ordine
At-least-once in pneumatico + idampotenza al ricevimento.
La partizione a chiave garantisce l'ordine locale.
Retries & backpressure: retrai esponenziali con jitter, controllo automatico della pressione.
10) SLO/SLI (raccomandato)
11) Osservazione del tracciato real-time
Le metriche di pipline sono throughput, lag per partition, busy time, checkpoint duration.
Qualità dei segnali: completeness, duplication rate, late ratio.
Dashboard: mappa termica del raggio dei topici, alert vortice (sobytiye→pravilo→keys), mappa delle chiavi hot.
Tracing - Collega l'alert agli eventi originali (trace _ id).
12) Sicurezza e privacy
Riduzioni PII - Tornizzazione degli identificatori, masking dei campi sensibili.
Linee di montaggio regionali (EEA/UK/BR) Geo-residency.
Controllo: i fogli di soluzioni invariati (chi, perché), Legale Hold per le valigette.
Accesso: RBAC a regole/modelli, doppio controllo per scarichi.
13) Costi e prestazioni
Chiavi hot: ridistribuzione (key salting), composite keys.
Stato: TTL ragionevoli, materializzazione incrementale, sintonizzazione RocksDB.
Finestre: dimensioni ottimali e allowed lateness; livelli pre-aggregation per flussi «rumorosi».
Samplace su flussi non ritrici e a livello di metriche (non su transazioni/compilation).
14) Esempi (semplificati)
Flink SQL - Depositi strutturing (finestra 10-min, step 1 min):sql
CREATE VIEW deposits AS
SELECT user_id, amount, ts
FROM kafka_deposits
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY ts
MEASURES
FIRST(A. ts) AS start_ts,
SUM(A. amount) AS total_amt,
COUNT() AS cnt
ONE ROW PER MATCH
AFTER MATCH SKIP PAST LAST ROW
PATTERN (A{3,})
WITHIN INTERVAL '10' MINUTE
) MR
WHERE total_amt > 500 AND cnt >= 3;
Pseudocode anti-velocity:
python key = event. user_id window = sliding(minutes=5, step=30) # hopping window count = state. counter(key, window)
sum_amt = state. sum(key, window)
if count > 30 or sum_amt > THRESH:
emit_alert("RG_VELOCITY", key, snapshot(state))
Dedotto event _ id (Kafka Streams):
java if (!kvStore.putIfAbsent(event. getId(), now())) {
forward(event); // unseen -> process
}
15) Processi e RACI
R - Streaming platform (Infra, Stato, release), Domain Analytics (regole/fitch).
A (Accountable) - Head of Data/Risk/Compliance per dominio.
C (Consulted): DPO/Legale (PII/Retention), SRE (SLO/incidenti), Architettura.
I (Informed) - Prodotto/Supporto/Marketing.
16) Road map di implementazione
MVP (2-4 settimane):1. 2-3 segnali critici (es. 'payment. deposit`, `auth. login`, `game. bet`).
2. Kafka + Flink, base e watermark; una regola CEP per l'antifrode e una per l'RG.
3. ClickHouse/Pinot per le vetrine operative; dashboard lag/completeness.
4. Canale di incidente (webhook/Jira) e triage manuale.
Fase 2 (4-8 settimane):- Phichestor online, schede light; lookups asincroni (sanzioni/CUS).
- Controllo delle regole come codice, scarichi di canne, regole A/B.
- Regionalizzazione e controlli PII, Legale Hold per valigette.
- Catalogo dei segnali, generazione automatica della documentazione, simulazione «replay & what-if».
- Soglia automatica (Bayesian/quantile), metriche precisione/recall online.
- Esercitazioni DR, multi-region active-active, proveback modelli per comando.
17) Scontrino di qualità prima della vendita
- Schemi e contratti, validazione in ingest.
- Finestre configurate, watermarks, allowed lateness + DLQ.
- Deadup e Idempotent Sink'e.
- Metriche lag/throughput/state size, alert SLO.
- Sicurezza: RBAC su regole/modelli, maschera PII.
- Documentazione: owner, SLO, esempi, mappe delle dipendenze.
- Procedure rollback e pulsante freeze.
18) Errori frequenti e come evitarli
Event-time: usa watermarks o le metriche scivolano.
Niente deduplicazione: i duplicati forniranno falsi alert, quindi inserisci idempotency.
Chiave calda: distorsione delle partizioni di salting/resharding.
Finestre troppo rigide: perdita di → allowed lateness in ritardo + rilascio di regolazione.
Miscelazione PII - Separa la tornitura e il flusso analitico.
Nessun simulatore. Testare le regole su «replica» prima di eseguire l'escursione.
19) Glossario (breve)
CEP - Complex Event Processing, rilevamento dei pattern.
Watermark è la soglia di tempo per la finestra pronta.
Allowed Lateness - Accesso agli eventi in ritardo.
Stateful Operator è un operatore con uno stato costante.
Feature Store - archivio di segni online/offline per ML.
20) Totale
Real-Time è una catena di montaggio controllata con schemi chiari, finestre e watermark, logica stateful, arricchimento online e SLO rigorosi. Seguendo queste pratiche, si ottengono rilevatori di rischio rapidi e affidabili, trigger personalizzati sostenibili e dashboard operativi che scalano in modo conveniente e completo.