GH GambleHub

Real vaxt analitikası

1) Təyinat və biznes dəyəri

Real Time Analytics (RTA) saatlarda deyil, saniyələrdə reaksiyaları təmin edir:
  • AML/Antifrod: depozitlərin strukturlaşdırılması, velocity hücumları, risk əməliyyatları.
  • Responsible Gaming (RG): limitləri aşmaq, risk nümunələri, özünü istisna etmək.
  • SRE/Əməliyyatlar: SLA deqradasiyalarının erkən aşkarlanması, səhv partlayışları, həddindən artıq qızma.
  • Məhsul və marketinq: personalizasiya tetikleyiciləri, missiyalar/axtarışlar, real vaxt seqmentasiyası.
  • Əməliyyat hesabatı: near-real-time GGR/NGR, zalların/provayderlərin daşbordları.

Hədəf göstəriciləri: p95 end-to-end 0. 5–5 с, completeness ≥ 99. 5%, mövcudluğu ≥ 99. 9%.


2) Etalon arxitekturası

1. Ingest/Edge — `/events/batch` (HTTP/2/3), gRPC, OTel Collector; sxemlərin validasiyası, anti-dubli, geo-marşrutlaşdırma.
2. Hadisə şinası - Kafka/Redpanda ('user _ id/tenant/market', DLQ, retenshn 3-7 gün).
3. Stream emal - Flink/Spark Structured Streaming/Beam: stateful operatorları, CEP, watermarks, allowed lateness, dedup.
4. Online zənginləşdirmə - Redis/Scylla/ClickHouse lookups (RG-limitləri, KYC, BIN → MCC, IP → Geo/ASN), taymaut və fallback ilə asinxron zənginləşdirmə.
5. Servinq - ClickHouse/Pinot/Druid (1-5 dəqiqə əməliyyat vitrinləri), Feature Store (onlayn əlamətlər), webhooks/ticeting/SOAR.
6. Lakehouse - Bronze/Silver/Gold uzunmüddətli konsolidasiya, replay və uyğunlaşma üçün.
7. Müşahidə - payplayn metrikası, treysinq (OTel), loqlar, lineage və cost-daşbordlar.


3) Siqnallar və taksonomiya

Ödənişlər: 'payment. deposit/withdraw/chargeback`.
Oyun: 'game. bet/payout ', sessiyalar.
Kimlik və davranış: 'auth. login/failure`, device-switch, velocity.
Əməliyyat: latency, error-rate, podların yenidən başlaması, saturation.
Komplayens: sanksiya skrininqi, RG bayraqları, DSAR hadisələri.

Hər bir növün sahibi (domain owner), sxemi, SLO təravəti və late data siyasəti var.


4) Pəncərələr, watermarks və late data

Pəncərələr: tumbling (fiks.) , hopping (üst-üstə), session (fəaliyyətsizliyə görə).
Watermark: sərhəd «vaxt bilik» (adətən 2-5 dəqiqə).
Gecikmiş hadisələr: əlavə düzəlişlər, bayraq 'late = true', DLQ güclü gecikmə ilə.

Flink SQL nümunəsi (10-dəq velocity depozitlər):
sql
SELECT user_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS sum_10m
FROM stream.payments
GROUP BY user_id, TUMBLE(event_time, INTERVAL '10' MINUTE);

5) CEP və stateful-aqreqasiya

Açar: 'user _ id', 'device _ id', 'payment. account_id`.
Hal: sürüşmə sayğacları/məbləğləri, dedup üçün bloom filtrləri, TTL.
CEP nümunələri: structuring (<eşik, ≥ N dəfə, T pəncərə), device-switch, RG-fatigue.

CEP psevdokod:
python if cnt_deposits(last=10MIN) >= 3 and sum_deposits(last=10MIN) > THRESH and all(d.amount < REPORTING_THRESHOLD):
emit_alert("AML_STRUCTURING", user_id, snapshot())

6) Exactly-Once, nizam və idempotentlik

At-least-once çatdırılma şin + dedup 'event _ id' emal (TTL 24-72 saat).
Sifariş: açarlar üzrə partizanlaşdırma (yerli prosedura zəmanət verilir).
Sink: əməliyyat kommitləri (2-faza) və ya idempotent upsert/merge.
Outbox/Inbox: ALTP-dən domen hadisələrinin tranzaksiya nəşri.


7) Online zənginləşdirmə və Feature Store

Lookup: RG-limitləri, KYC-statuslar, BIN → MCC, IP → Geo/ASN, bazarlar/vergilər, hadisə zamanı FX.
Asenxron çağırışlar: vaxtlarla sanksiya/RER API; səhv olduqda - 'unknown' + retrai/cache.
Feature Store: online/offline koordinasiya; bir kod transformasiya bazası.


8) Real-time vitrinlər və xidmət

ClickHouse/Pinot/Druid: saniyə/dəqiqə aqreqatları, materialized views, 1-5 dəqiqə gecikmə üçün SLA.
API/GraphQL: dashboard/widget üçün aşağı gecikmə.
Alertlər: zənginləşdirilmiş kontekstlə/Jira/SOAR (trace_id, last events).

ClickHouse nümunəsi (hər dəqiqə GGR):
sql
CREATE MATERIALIZED VIEW mv_ggr_1m
ENGINE = AggregatingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), market, provider_id) AS
SELECT toStartOfMinute(event_time) AS ts_min,
market,
provider_id,
sumState(stake_base) AS s_stake,
sumState(payout_base) AS s_payout
FROM stream.game_events
GROUP BY ts_min, market, provider_id;

9) Metriklər, SLI/SLO və Daşbordlar

Tövsiyə olunan SLI/SLO:
  • p95 ingest → alert ≤ 2 s (kritik qaydalar), ≤ 5 s (digər).
  • Completeness pəncərə T ≥ 99. 5%; Schema validity ≥ 99. 9%; Trace coverage ≥ 98%.
  • Axın xidmətinin mövcudluğu ≥ 99. 9%; late-ratio ≤ 1%.
Daşbordlar (minimum):
  • Partiyalar/topiklər üzrə laq; busy time operatorları; dövlət ölçüsü.
  • Huni «hadisə → qayda → case», domenlər üzrə precision/recall.
  • istilik kartı late/completeness; «qaynar» açar kart.

10) DQ axını (keyfiyyət)

Ingest-validasiya: schema/enums/size-limits, anti-dubley.
Axında: completeness/dup-rate/late-ratio, pəncərələrin düzgünlüyü (ikiqat hesablama olmadan).
Reaksiya siyasəti: critical → DLQ + pager; major/minor → etiketləmə + hesabat.

YAML nümunəsi:
yaml stream: payments rules:
- name: schema_valid type: schema severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: dedup_window type: unique keys: [event_id]
window_minutes: 1440

11) Gizlilik, təhlükəsizlik və rezidentlik

PII-minimallaşdırma: ID təxəllüsü, həssas sahələrin maskalanması, PAN/IBAN tokenləşdirilməsi.
Data residency: regional konveyerlər (EEA/UK/BR), fərdi KMS açarları.
DSAR/RTBF: downstream vitrinlərdə seçici redaktələr; Cases/hesabatlar üçün Legal Hold.
Audit: dəyişməz giriş/qaydaların dəyişdirilməsi, buraxılışların jurnallaşdırılması.


12) İqtisadiyyat və performans

Sharding/açarları: «isti» açarlardan (salting/composite), partiyalar balansından çəkinin.
State: TTL, compact snapshots, tuning RocksDB/state backend.
Ön aqreqasiya: səs-küylü mövzular üçün erkən mərhələlərdə reduce.
Sampling: yalnız kritik olmayan metriklər üçün (heç bir əməliyyat/komplayens).
Chargeback: mövzular/jobs üçün büdcələr, replay kvotaları və ağır sorğular.


13) Proseslər və RACI

R: Streaming Platform (infra/relizlər), Domain Analytics (qaydalar/fayllar), MLOps (scoring/Feature Store).
A: Domenlər üzrə Head of Data/Risk/Compliance.
C: DPO/Legal (PII/retention), SRE (SLO/insidentlər), Memarlıq.
I: Məhsul, Dəstək, Marketinq, Maliyyə.


14) Tətbiqi yol xəritəsi

MVP (2-4 həftə):

1. Kafka/Redpanda + 2 tənqidi topika (məsələn, 'payments', 'auth').

2. Flink cob watermark, dedup və 1 CEP qaydası (AML və ya RG) ilə.

3. ClickHouse/Pinot (1-5 dəq) əməliyyat vitrin, dashboard lag/completeness.

4. Hadisə kanalı (vebhuk/Jira), əsas SLO və alertlər.

Faza 2 (4-8 həftə):
  • Online zənginləşdirmə (Redis/Scylla), Feature Store, asenxron lookups.
  • Kod, canary/A-B, axın DQ kimi qaydaları idarə edin.
  • konveyerlərin regionlaşdırılması, DSAR/RTBF prosedurları, hallar üçün qanuni Hold.
Faza 3 (8-12 həftə):
  • Multi-region active-active, «replay & what-if» simulyatoru, astanaların avtomatik kalibrlənməsi.
  • Gold-stream vitrin (GGR/RG/AML), near-real-time hesabat.
  • Cost-dashboard, chargeback, DR-təlimlər.

15) Nümunələr (fraqmentlər)

Flink CEP — device-switch:
sql
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY event_time
MEASURES
FIRST(A.device_id) AS d1,
LAST(B.device_id) AS d2,
COUNT()      AS cnt
PATTERN (A B+)
DEFINE
B AS B.device_id <> PREV(device_id) AND B.ip_asn <> PREV(ip_asn)
) MR
Kafka Streams - idempotent filtr:
java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}

16) Satış öncəsi yoxlama siyahısı

  • Registry sxemləri/müqavilələr, back-compat testlər yaşıl.
  • watermark/allowed lateness, dedup və DLQ daxildir.
  • SLO və alertlər (lag/late/dup/state size).
  • Caches və Taymaut ilə zənginləşdirilməsi; fallback «unknown».
  • RBAC/dual-control qaydaları/modelləri; dəyişiklik jurnalı daxil edilmişdir.
  • Qaydaların/vitrinlərin sənədləşdirilməsi; runbook 'və replay/geri.

17) Tez-tez səhvlər və onlardan necə qaçmaq olar

Ignor hadisə-vaxt: watermarks metrik olmadan «üzmək».
No dedupe: saxta alert, ikiqat uçot.
Qaynar açarlar: partiyalar → salting/resharding.
İsti yolda sinxron xarici API: yalnız async + cache.
İdarə olunmayan dəyər: əvvəlcədən aqreqasiya, TTL vəziyyəti, kvotalar, cost-monitorinq.
Simulyatorun olmaması: «replay» → reqressiya olmadan çıxışlar.


18) Yekun

Real vaxt analitikası «sürətli BI» deyil, müqavilələr, stateful-məntiq, CEP, watermarks, onlayn zənginləşdirmə və ciddi SLO ilə idarə olunan dövrədir. Bu təcrübələrə əməl edərək, platforma komplayens, məhsul ssenariləri və nəzarət olunan dəyərlə əməliyyat sabitliyini qoruyaraq saniyələr ərzində dəqiq siqnallar və həllər alır.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.