GH GambleHub

Axın və axın analitikası

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

Axın konturu «uçuş» qərarlarının qəbul edilməsini təmin edir:
  • Antifrod/AML: depozitlərin strukturlaşdırılması, velocity hücumları, provayderlərin anomaliyalarının aşkarlanması.
  • Responsible Gaming (RG): limitləri aşmaq, risk nümunələri, özünü istisna.
  • Əməliyyatlar/SRE: SLA deqradasiyası, səhv partlayışları, erkən hadisə siqnalları.
  • Məhsul/marketinq: personalizasiya hadisələri, missiyalar/axtarışlar, real vaxt seqmentasiyası.
  • Near-real-time hesabat: GGR/NGR vitrinləri, əməliyyat panelləri.

Hədəf xüsusiyyətləri: p95 end-to-end 0. 5-5 s, tam ≥ 99. 5%, idarə olunan qiymət.


2) Etalon arxitekturası

1. Ingest/Edge

`/events/batch` (HTTP/2/3), gRPC, OTel Collector.
Sxemlərin validasiyası, anti-dublikatlar, geo-marşrutlaşdırma.

2. Şina hadisələri

Kafka/Redpanda (partizan 'user _ id/tenant/market').
Retention 3-7 gün, kompressiya, DLQ/« sınıq »mesajlar üçün« karantin ».

3. Axın emalı

Flink / Spark Structured Streaming / Beam.
Stateful operatorları, CEP, watermark, allowed lateness, deduplikasiya.
Zənginləşdirmə (Redis/Scylla/ClickHouse-Lookup), asinxron I/O ilə vaxt.

4. Servinq/Əməliyyat vitrinləri

ClickHouse/Pinot/Druid dəqiqə/saniyə aqreqasiya və dashboard üçün.
Modellərin hesablanması üçün Feature Store (online).
Alert Topics → SOAR/Ticketing/Webhucks.

5. Uzunmüddətli saxlama (Lakehouse)

Bronze (raw), Silver (clean), Gold (serve) — Parquet + Delta/Iceberg/Hudi.
Replay/backtests, time-travel.

6. Müşahidə

Payplayn metrikası, Trace (OTel), Log, Lineage.


3) Sxemlər və müqavilələr

Schema-first: JSON/Avro/Protobuf + Registry, hər bir hadisədə 'schema _ version'.
Təkamül: back-compatible - yeni nullable sahələr; breaking - '/v2 '+ ikiqat nəşr.
Məcburi sahələr: 'event _ time' (UTC), 'event _ id', 'trace _ id', 'user. pseudo_id`, `market`, `source`.


4) Pəncərələr, watermarks və gecikmiş məlumatlar

Pəncərələr:
  • Tumbling (sabit), Hopping (üst-üstə), Session (qeyri-aktiv).
  • Watermark: tədbir zamanı «bilik» həddi; məsələn, 2-5 dəqiqə.
  • Late data: düzəlişlərin əlavə emissiyası, «late = true», güclü gecikmə ilə DLQ.
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) Stateful-aqreqasiya və CEP

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

CEP psevdokod:
python if deposits.count(last=10MIN) >= 3 and deposits.sum(last=10MIN) > THRESH and all(d.amount < REPORTING_THRESHOLD):
emit_alert("AML_STRUCTURING", user_id, window_snapshot())

6) Exactly-Once, nizam və idempotentlik

Şin: at-least-once + partizan açarları yerli qaydanı təmin edir.
İdempotentlik: 'event _ id' + dedup state (TTL 24-72 saat).
Sink: əməliyyat kommitləri (2-faza) və ya upsert/merge-idempotentlik.
Outbox/Inbox: ALTP-dən domen hadisələrinin zəmanətli yayımı.


7) Real vaxt zənginləşdirilməsi

Lookup: Redis/Scylla (RG-limitləri, KYC-status, BIN → MCC, IP → Geo/ASN).
Asinxron çağırışlar: Taymaut və fallback («unknown») ilə sanksiya/RER API.
FX/taymzona: məbləğlərin normallaşdırılması və yerli bazar vaxtı ('fx _ source', 'tz').


8) Servinq və real vaxt vitrinləri

ClickHouse/Pinot/Druid: dəqiqələrdə/saniyələrdə aqreqasiya, materialized views.
Gold-stream: GGR/RG/AML əməliyyat cədvəlləri, SLA gecikmə ≤ 1-5 dəqiqə.
API/GraphQL: Dashboard və xarici inteqrasiya üçün aşağı gecikmə.

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) Müşahidə və SLO

SLI/SLO (göstəricilər):
  • p95 ingest → alert ≤ 2 s (kritik), ≤ 5 s (qalan).
  • Completeness pəncərə T ≥ 99. 5%.
  • Sxem səhvləri ≤ 0. 1%; 'trace _ id' ilə hadisələrin payı ≥ 98%.
  • Axın xidmətinin mövcudluğu ≥ 99. 9%.
Daşbordlar:
  • Parties/topics, busy time operatorları, dövlət ölçüsü.
  • Huni «hadisə → qayda → case», kart «isti» açarları, late-ratio.
  • Qiymət: cost/GB, cost/query, çekpoynt/replay dəyəri.

10) Gizlilik və uyğunluq

PII-minimallaşdırma: ID təxəllüsü, sahələrin maskalanması, PAN/IBAN tokenizasiyası.
Məlumat rezidentliyi: regional konveyerlər (EEA/UK/BR), fərdi şifrələmə açarları.
Hüquqi əməliyyatlar: downstream vitrinlərdə DSAR/RTBF, cases/hesabatlar üçün Legal Hold.
Audit: giriş qeydləri, dəyişməz həll arxivləri.


11) İqtisadiyyat və performans

Açarlar və şərdinq: «isti» açarlardan (salting/composite key) qaçın.
Vəziyyət: ağlabatan TTL, snapshots, RocksDB/state backend sazlama.
Ön aqreqasiya: səs-küylü axınlar üçün up-front reduce.
Sampling: Deyək ki, kritik olmayan metriklərdə (əməliyyatlar/komplayensdə deyil).
Chargeback: mövzular üzrə büdcələr/joblar, kvotalar və komandalar üzrə allokasiya.


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

Ingest-validasiya (schema, enums, size), dedup '(event_id, source)'.
Axında: completeness/dup-rate/late-ratio, pəncərə nəzarəti (ikiqat hesab yoxdur).
Reaksiya siyasətləri: critical → DLQ + alert; major/minor → tag və sonrakı təmizləmə.

Minimum qaydalar (YAML, nümunə):
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

13) Giriş təhlükəsizliyi və release-nəzarət

RBAC/ABAC: oxu axını, qaydaları/modelləri dəyişdirmək üçün fərdi rollar.
Dual control: «2 açar» vasitəsilə qaydaların və modellərin çıxarılması.
Canary/A/B: qaydaların və modellərin qaranlıq başlanğıcları, precision/recall nəzarət.
Sirləri: KMS/CMK, müntəzəm rotasiya, loglarda sirlərin qadağan edilməsi.


14) Proseslər və RACI

R (Responsible): Streaming Platform, Domain Analytics, MLOps.
A (Accountable): Domenlər üzrə Head of Data/Risk/Compliance.
C (Consulted): DPO/Legal (PII/retention), SRE (SLO/insidentlər), Memarlıq.
I (Informed): Məhsul, Dəstək, Marketinq, Maliyyə.


15) Tətbiqi yol xəritəsi

MVP (2-4 həftə):

1. Kafka/Redpanda + iki kritik topika ('payments', 'auth').

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

3. ClickHouse/Pinot vitrin 1-5 dəq, 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 kimi qaydaların idarə edilməsi, kanarya relizləri, A/B
  • DQ axını, konveyerlərin regionlaşdırılması, DSAR/RTBF prosedurları.
Faza 3 (8-12 həftə):
  • Multi-region active-active, replay-simulyator «what-if», astanaların avtomatik kalibrlənməsi.
  • Tam Gold-stream vitrinlər (GGR/RG/AML), near-real-time hesabat.
  • Dəyər daşbordları, chargeback, DR təlimləri.

16) 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);
}

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

  • Registry sxemləri və 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ə Taymauts ilə zənginləşdirilməsi, fallback «unknown».
  • RBAC/dual-control qaydaları/modelləri, bütün dəyişikliklər daxil.
  • qaydaları sənədləşdirilməsi, vitrinlər və runbook 'və replay/geri.

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

Ignor hadisə-vaxt: watermarks metrik olmadan «üzmək».
No dedupe: saxta alert və ikiqat mühasibat.
Qaynar açarlar: partiyalar → salting/resharding.
İsti yolda sinxron xarici API: yalnız async + cache.
İdarə olunmayan dəyər: aqreqasiya öncəsi, TTL vəziyyəti, kvotalar, cost-dashboard.
Simulyatorun olmaması: «replay» olmadan çıxışlar reqressiyaya səbəb olur.


19) Lüğət (qısa)

CEP - Complex Event Processing (Hadisə nümunələri).
Watermark - event-time pəncərələrin hazırlıq həddi.
Allowed Lateness - gecikmiş hadisələrə icazə.
Stateful Operator - saxlanılmış vəziyyəti olan operator.
Feature Store - əlamətlərin razılaşdırılmış servisi (online/offline).


20) Yekun

Axın və axın analitikası idarə olunan sistemdir: müqavilələr, pəncərələr və watermarks, stateful-məntiq və CEP, zənginləşdirmə və real-time vitrinlər, SLO və müşahidə, məxfilik və nəzarət altında dəyər. Təsvir olunan təcrübələrə uyğun olaraq, platforma etibarlı risk detektorları, əməliyyat panelləri və proqnozlaşdırıla bilən gecikmə və xərclərlə fərdiləşdirmə 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.