GH GambleHub

Przetwarzanie sygnału w czasie rzeczywistym

1) Cel i wartość biznesowa

Strumień w czasie rzeczywistym jest potrzebny, aby odpowiedzieć „tutaj i teraz”:
  • Antifraud/AML: złoża strukturyzujące, „mulling”, ataki prędkości.
  • Responsible Gaming (RG): przekroczenie limitów, wzorce ryzyka zachowania.
  • Ryzyko/zgodność: rejestracja online/kontrola sankcji transakcyjnych.
  • Personalizacja: wyzwalacze bonusowe/misyjne, kampanie reaktywne.
  • Operacje/SRE: degradacja SLA, skurcze błędów, anomalie metryk.

Główne cele: niskie opóźnienia (p95 0. 5-5 s), wysoka kompletność (≥ 99. 5%), odporność na przepięcia.

2) Taksonomia sygnału

Transakcja: "płatność. wpłata/wypłata/obciążenie zwrotne ".
Gra: 'gra. bet/payout ',' gra. session_start/stop'.
Uwierzytelnianie: 'auth. login/failure', device change/geo.
Zachowanie: szybkość zakładów, wykładniczy wzrost ilości, aktywność nocna.
Pokoje operacyjne: 'api. opóźnienie ',' błąd. szybkość ', „burza” paleniska ponownie rozpoczyna.

Każdy typ ma schemat, właściciela domeny, krytyczność, SLO i zasady późnych danych.

3) Architektura odniesienia pętli w czasie rzeczywistym

1. Ingest and bus: HTTP/gRPC → Edge → Kafka/Redpanda (partycjonowanie przez 'user _ id/lokator').
2. Streaming-двивой: Flink/Spark Structured Streaming/Beam; stanowcze oświadczenia, CEP.
3. Wzbogacanie online: tabele wyszukiwania (Redis/Scylla/ClickHouse Read-Only), cache dostawcy (sankcje/CUS).

4. Sinky:
  • Tematy alertu/cue (zarządzanie sprawami, SOAR).
  • Fichestor online (modele punktacji).
  • Prezentacje ze złotym strumieniem (deski rozdzielcze).
  • „Ciepłe” przechowywanie do szybkiej analizy (ClickHouse/Pinot/Druid).
  • 5. Archiwum/kryminalistyka: niezmienne składanie w jeziorze (parkiet, podróż w czasie).
  • 6. Obserwowalność: śledzenie/metryka/kłody + rodowód.

4) Okna, znaki wodne i „późne dane”

Widoki okien:
  • Bumbling: stałe okna (np. 1 min) - kruszywa proste.
  • Chodzenie: nakładanie się (np. krok 30 s, okno 2 min) - „gładkie” mierniki.
  • Sesja: brak aktywności - analiza behawioralna.
  • Znaki wodne: granica „znajomości czasu” dla czasu zdarzeń; pozwalają na opóźnienie (np. 2 min).
  • Spóźnione strategie: dodatkowa kwestia korekt, postscript „late = true”, DLQ.

5) Stanowcze oświadczenia i deduplikowanie

Klucz: przez 'user _ id',' payment. account_id', 'device _ id'.
Status: addery, liczniki przesuwne, filtry kwitnienia dla idempotencji.
Dedup: przechowywanie „(event_id, seen_at)” w stanie/kv; TTL = 24-72 godziny.
Dokładnie raz: zlew transakcyjny'i (2-fazowy), operacje idempotent upsert.

6) Wzbogacanie strumienia

Radości wyszukiwania: limity RG, wskaźnik ryzyka użytkownika, poziom KYC, geo/ASN.
Połączenia asynchroniczne: rejestr sankcji/dostawcy środków zwalczania nadużyć finansowych (async I/O, timeouts i fallback).
Normalizacja waluty/strefa czasowa: ujednolicenie do UTC i waluty bazowej; naprawić 'fx _ source'.

7) CEP: wykrywanie złożonych wzorów

Przykłady zasad:
  • Strukturyzacja: depozyt ≥ 3 przez 10 minut, każdy X.
  • Urządzenie-switch: 3 różne urządzenia w 15 minut + zmiana IP/ASN.
  • Zmęczenie RG: całkowite zakłady na 1 godzinę> limit + utrata ≥ Y.
  • Ops-storm: opóźnienie p95> 2 × podstawa, 5xx> 3% w oknie 5-min.

CEP jest wygodnie wyrażony w bibliotekach Flink CEP/SQL lub szablonach zdarzeń.

8) Funkcje i modele online

Rurociągi funkcyjne: liczniki, prędkość-mierniki, „czas od ostatniego wydarzenia”, share-of-portfel.
Spójność online/offline: jedna baza kodowa transformacji; testy przejściowe.
Punktacja: modele światła (logit/GBDT) synchronicznie; ciężkie - asynchronicznie przez kolejkę.
Sterowanie dryfem: PSI/KS i wpisy; „dark launches” dla nowych modeli.

9) Gwarancje dostawy i procedura

Przynajmniej raz w oponie + idempotencja w recepcji.
Partytura klucza zapewnia lokalne zamówienie.
Retries & backpressure: przekładnie wykładnicze z jitterem, automatyczna kontrola ciśnienia.

10) SLO/SLI (zalecane)

WskaźnikCel
p95 koniec-koniec opóźnienia (połknięcie → alert)≤ 2s (kreta), ≤ 5 s (kreta)
Kompletność na okno T≥ 99. 5%
Błędy obwodu/walidatora≤ 0. 1% zdarzeń
Odsetek zdarzeń związanych z trace_id≥ 98%
Precyzja alarmu/wycofanie≥ 0. 8 / ≥ 0. 7
Dostępność usług strumieniowych≥ 99. 9%

11) Obserwowalność konturu w czasie rzeczywistym

Mierniki rurociągu: przepustowość, opóźnienie na przegrodę, czas zajęty, czas trwania punktu kontrolnego.
Jakość sygnału: kompletność, szybkość powielania, późny stosunek.
Deski rozdzielcze: mapa ciepła lagów według tematu, lejek alarmowy (sobytiye → pravilo → klawisze), mapa gorących kluczy.
Śledzenie: skojarzyć alert z zdarzeniami inicjującymi (trace_id).

12) Bezpieczeństwo i prywatność

Minimalizacja PII: tokenizacja identyfikatorów, maskowanie pól wrażliwych.
Georezydencja: przenośniki regionalne (EEA/UK/BR).
Audyt: niezmienne dzienniki decyzji (kto, co, dlaczego), Legal Hold dla spraw.
Dostęp: RBAC do reguł/modeli, podwójna kontrola na kopnięciach.

13) Koszt i wydajność

Klucze gorące: redystrybucja (solenie kluczy), klucze kompozytowe.
Warunek: rozsądny TTL, przyrostowa materializacja, strojenie RocksDB.
Okna: optymalny rozmiar i dozwolone opóźnienie; warstwy wstępnego zagregowania strumieni „hałaśliwych”.
Kontrola wyrywkowa: na przepływach innych niż krytyczne i na poziomie metrycznym (nie na transakcjach/zgodności).

14) Przykłady (uproszczone)

Kołnierz SQL - złoża strukturalne (okno 10-min, krok 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;
Kod pseudo anty-prędkości według oferty:
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))
Kafka Streams event_id:
java if (!kvStore.putIfAbsent(event. getId(), now())) {
forward(event); // unseen -> process
}

15) Procesy i RACI

R (Responsible): Streaming Platform (info, status, wydania), Domain Analytics (zasady/funkcje).
A (Odpowiedzialność): szef danych/ryzyka/zgodności ze swoimi dziedzinami.
C (Konsultacja): DPO/Legal (PII/retencja), SRE (SLO/Incydenty), Architektura.
I (Poinformowany): Produkt/Wsparcie/Marketing.

16) Plan działania w zakresie wdrażania

MVP (2-4 tygodnie):

1. 2-3 sygnały krytyczne (np. "płatność. depozyt ',' auth. logowanie, gra. zakład ").

2. Kafka + Flink, podstawowy odpływ i znak wodny; jedna zasada CEP w odniesieniu do zwalczania nadużyć finansowych i jedna w odniesieniu do RG.

3. ClickHouse/Pinot dla operacyjnych sklepów; deski rozdzielcze opóźnienie/kompletność.

4. Kanał incydentu (webhook/Jira) i ręczny triage.

Faza 2 (4-8 tygodni):
  • Fichestor online, modele światła punktowego; asynchroniczne przeglądanie (sankcje/CCL).
  • Zarządzanie regułami jako kod, rolki kanaryjskie, reguły A/B.
  • Regionalizacja i kontrole PII, Hold prawny dla spraw.
Faza 3 (8-12 tygodni):
  • Katalog sygnału, automatyczna generacja dokumentacji, powtórka i symulator co-jeśli.
  • Automatyczna kalibracja progów (Bayesian/quantile), precyzja/recall metrics online.
  • Ćwiczenia DR, wielobranżowe modele aktywnego obciążenia zwrotnego.

17) Lista kontrolna jakości przed sprzedażą

  • Programy i umowy, zatwierdzenie po połknięciu.
  • Skonfigurowane Windows, znaki wodne, dozwolone opóźnienie + DLQ.
  • Dedup i idempotent sink'i.
  • Mierniki wielkości LGD/przepustowości/stanu, wpisy SLO.
  • Bezpieczeństwo: RBAC w zakresie zasad/modeli, maskowanie PII.
  • Dokumentacja: właściciel, SLO, przykłady, mapy zależności.
  • Procedury rollback i przycisk frieze.

18) Częste błędy i jak ich uniknąć

Ignoruj czas zdarzeń: użyj znaków wodnych, w przeciwnym razie mierniki będą „slajdów”.
Brak deduplikacji - duplikaty spowoduje fałszywe wpisy → typ idempotencji.
Gorące klucze: zniekształcenie stron → solenie/odtworzenie.
Okna zbyt twarde: utrata opóźnienia → dozwolone opóźnienia + emisje korekcyjne.
Mieszanie PII: Oddzielna tokenizacja i przepływ analityczny.
Brak symulatora: Zasady testowania „powtórki” przed uruchomieniem.

19) Słownik (krótki)

CEP - Kompleksowe przetwarzanie zdarzeń, wykrywanie wzorów.
Znak wodny - próg czasowy gotowości okna.
Dozwolone Lateness - przyjęcie późnych wydarzeń.
Statious Operator jest uporczywym operatorem.
Sklep funkcyjny - sklep z charakterystyką online/offline dla ML.

20) Sedno sprawy

Przetwarzanie sygnału w czasie rzeczywistym to kontrolowany rurociąg z przezroczystymi obwodami, oknami i znakami wodnymi, statyczną logiką, internetowym wzbogaceniem i surowymi SLO. Stosując się do tych praktyk, otrzymujesz szybkie i niezawodne wykrywacze ryzyka, trwałe uruchamiacze personalizacji i deski rozdzielcze, które skalują się słabo i zgodnie.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.