GH GambleHub

Hakyky wagt seljermesi

1) Maksady we iş gymmaty

Hakyky wagt analitikasy (RTA) sagatda däl-de, sekuntda reaksiýalary üpjün edýär:
  • AML/Antifrod: goýumlaryň gurluşy, welocity-hüjümler, töwekgelçilik-amallar.
  • Responsible Gaming (RG): çäklerden ýokary, töwekgelçilik nusgalary, öz-özüni aýyrmak.
  • SRE/Amallar: SLA zaýalanmalarynyň, ýalňyşlyklaryň ýüze çykmagynyň, toparlaryň aşa gyzmagynyň irki ýüze çykmagy.
  • Önüm we marketing: şahsylaşdyrma, missiýalar/gözlegler, hakyky wagt segmentasiýasy.
  • Amal hasabaty: near-real-time GGR/NGR, zallaryň/üpjün edijileriň daşbordlary.

Maksat görkezmeleri: p95 end-to-end 0. 5–5 с, completeness ≥ 99. 5%, elýeterlilik ≥ 99. 9%.


2) Salgylanma arhitekturasy

1. Ingest/Edge — `/events/batch` (HTTP/2/3), gRPC, OTel Collector; shemalary, anti-dubllary, geo-marşrutlaşdyrmagy tassyklamak.
2. Wakalaryň şinasy - Kafka/Redpanda ('user _ id/tenant/market', DLQ, retenşn 3-7 gün).
3. Akym-gaýtadan işlemek - Flink/Spark Structured Streaming/Beam: stateful-operatorlar, CEP, watermarks, allowed lateness, dedup.
4. Online-baýlaşdyrmak - Redis/Scylla/ClickHouse lookups (RG-çäklendirmeler, KYC, BIN → MCC, IP → Geo/ASN), wagt we fallback bilen asinhron jaňlar.
5. Hyzmat etmek - ClickHouse/Pinot/Druid (operatiw penjireler 1-5 minut), Feature Store (onlaýn alamatlar), webhooks/ticeting/SOAR.
6. Lakehouse - Bronze/Silver/Gold uzak möhletli konsolidasiýa, repleýler we deňeşdirmeler üçin.
7. Syn edilişi - paýlaýynlaryň metrikleri, treýsing (OTel), loglar, lineage we cost-daşbordlar.


3) Signallar we taksonomiýa

Tölegler: 'payment. deposit/withdraw/chargeback`.
Oýun: 'game. bet/payout ', sessiýalar.
Tassyklamak we hereket etmek: 'auth. login/failure`, device-switch, velocity.
Iş otaglary: latency, error-rate, podlary täzeden başlamak, saturation.
Komplayens: sanksiýa skrininingi, RG-baýdaklar, DSAR-wakalar.

Her görnüşiň eýesi (domain owner), shemasy, SLO täzeligi we late data syýasaty bar.


4) Penjireler, watermarks we late data

Penjireler: tumbling , hopping (örtük), session (hereketsizligi boýunça).
Watermark: "wagt biliminiň" çäkleri (adatça 2-5 minut).
Gijä galan wakalar: düzedişleriň goşmaça emissiýalary, baýdak 'late = true', DLQ güýçli gijä galanda.

Mysal üçin Flink SQL (10 minutlyk welocity depozitleri):
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 we stateful-agregasiýalar

Açar: 'user _ id', 'device _ id', 'payment. account_id`.
Döwlet: süýşýän hasaplaýjylar/pullar, babasy üçin bloom-süzgüçler, TTL.
CEP-patternleri: structuring (<bosagasy, ≥ N gezek, penjireden T), 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, tertip we idempotentlik

At-least-once tekerde eltip bermek + işlemekde 'event _ id' boýunça dedup (TTL 24-72 sagat).
Tertip: açarlar boýunça partiýalaşdyrmak (ýerli tertip kepillendirilýär).
Sink: geleşik komissiýalary (2-phase) ýa-da idempotent upsert/merge.
Outbox/Inbox: ALTP-den domen wakalarynyň geleşik çap edilmegi.


7) Onlaýn baýlaşdyrmak we Feature Store

Lookup: RG-çäklendirmeler, KYC-statuslar, BIN → MCC, IP → Geo/ASN, bazarlar/salgytlar, FX waka wagtynda.
Asinxron jaňlar: wagt bilen sanksiýa/RER API; ýalňyşlyk ýüze çyksa - 'unknown' + retray/kesh.
Feature Store: online/offline utgaşdyrmak; üýtgeşmeleriň bir kod bazasy.


8) Real-time vitrinler we hyzmat

ClickHouse/Pinot/Druid: sekunt/minut agregatlary, materialized views, SLA 1-5 minut gijä galmak.
API/GraphQL: dashboard/widget üçin pes gizlinlik.
Alertler: webhukki/Jira/SOAR baý kontekstli (trace_id, last events).

ClickHouse mysaly (her minutda 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) Metrikler, SLI/SLO we daşbordlar

Maslahat berilýän SLI/SLO:
  • p95 ingest → alert ≤ 2 s (möhüm düzgünler), ≤ 5 s (beýlekiler).
  • Windows Completeness T ≥ 99. 5%; Schema validity ≥ 99. 9%; Trace coverage ≥ 98%.
  • Akym hyzmatynyň elýeterliligi ≥ 99. 9%; late-ratio ≤ 1%.
Daşbordlar (iň az):
  • Partiýa/topik boýunça lag; operatorlaryň busy time; döwletiň ululygy.
  • "Waka → düzgün → case", domenler boýunça precision/recall.
  • Ýylylyk kartasy late/completeness; "gyzgyn" açarlar kartasy.

10) Akym DQ (hil)

Ingest-validasiýa: schema/enums/size-limits, anti-dubli.
Akymda: completeness/dup-rate/late-ratio, penjireleriň dogrulygy (goşa hasaba alynmazdan).
Reaksiýa syýasaty: critical → DLQ + pager; major/minor → teglemek + hasabat.

YAML mysaly:
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) Gizlinlik, howpsuzlyk we rezidentlik

PII-minimalizasiýa: ID-ni lakamlaşdyrmak, duýgur meýdanlary gizlemek, PAN/IBAN tokenizasiýasy.
Data residency: sebitleýin konweýerler (EEA/UK/BR), aýry-aýry KMS-açarlar.
DSAR/RTBF: downstream penjirelerinde saýlama redaktirlemeler; Kazyýet/hasabat üçin "Legal Hold".
Audit: elýeterliligiň/düzgünleriň üýtgemeginiň üýtgemeýän ýazgylary, goýberilişleriň žurnallaşdyrylmagy.


12) Ykdysadyýet we öndürijilik

Şarding/açarlar: "gyzgyn" açarlardan gaça duruň (salting/composite), partiýa balansy.
Döwlet: TTL, compact snapshots, sazlama RocksDB/state backend.
Öňünden agregasiýa: sesli mowzuklar üçin başlangyç döwürde reduce.
Sampling: diňe kritiki däl metrikler üçin (amallar/utgaşmalar däl).
Çargeback: mowzuklar/joblar üçin býudjetler, repleýler we agyr haýyşlar üçin kwotalar.


13) Amallar we RACI

R: Streaming Platform (infra/relizler), Domain Analytics (düzgünler/fiçalar), MLOps (skoring/Feature Store).
A: Baş of Data/Risk/Compliance domen.
C: DPO/Legal (PII/retention), SRE (SLO/hadysalar), Binagärlik.
I: Önüm, Goldaw, Marketing, Maliýe.


14) Durmuşa geçirmegiň ýol kartasy

MVP (2-4 hepde):

1. Kafka/Redpanda + 2 kritiki topika (mysal üçin, 'payments', 'auth').

2. Flink-job watermark, dedup we 1 CEP-düzgüni (AML ýa-da RG) bilen.

3. ClickHouse/Pinot-daky iş vitrinasy (1-5 minut), dashbordlar lag/completeness.

4. Waka kanaly (webhuklar/Jira), esasy SLO we aladalar.

2-nji faza (4-8 hepde):
  • Onlaýn baýlaşdyrmak (Redis/Scylla), Feature Store, asinxron lookups.
  • Düzgünleri kod, canary/A-B, akym DQ hökmünde dolandyrmak.
  • Konweýerleriň sebitleşdirilmegi, DSAR/RTBF amallary, ýagdaýlar üçin kanuny Hold.
3-nji faza (8-12 hepde):
  • Köp sebit active-active, "replay & what-if" simulýatory, bosagalary awto-kalibrlemek.
  • Gold-stream vitrinleri (GGR/RG/AML), near-real-time hasabat.
  • Cost-daşbordlar, chargeback, DR-maşklar.

15) Mysallar (bölekler)

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 - Dempotent süzgüç:
java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}

16) Azyk önüminden öň çek-sanawy

  • Registry-de shemalar/şertnamalar, back-compat synaglary ýaşyl.
  • Watermark/allowed lateness, dedup we DLQ goşuldy.
  • SLO we alertler sazlandy (lag/late/dup/state size).
  • Keş we wagt bilen baýlaşdyrmak; fallback «unknown».
  • RBAC/dual-control düzgünleri/modelleri; Üýtgeşmeler journalurnalyna goşuldy.
  • Düzgünleriň/vitrinleriň resminamalary; runbook 'we replay/yzyna gaýtarmak.

17) Ýygy-ýygydan ýalňyşlyklar we olardan nädip gaça durmaly

Ignor event-time: watermarks metriksiz "ýüzýärler".
Babasy ýok: ýalan alertler, goşa hasap.
Gyzgyn açarlar: partiýanyň ýoýulmagy → salting/resharding.
Gyzgyn ýolda sinhron daşarky API: diňe async + kesh.
Dolandyrylmaýan bahasy: deslapky agregasiýa, TTL ýagdaýy, kwotalar, cost-monitoring.
Simulýatoryň ýoklugy: "replay" → regressiýasyz çykmak.


18) Jemleýji

Hakyky wagt seljermesi "çalt BI" däl-de, şertnamalar, stateful-logika, CEP, watermarks, onlaýn baýlaşdyrmak we berk SLO bilen dolandyrylýan konturdyr. Bu amallary ýerine ýetirip, platforma takyk signallary we çözgütleri sekuntda alýar, gözegçilik edilýän bahada laýyklygy, önüm ssenarilerini we operasiýa durnuklylygyny saklaýar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.