GH GambleHub

Akym we akym analitikasy

1) Maksady we gymmaty

Akym kontury "uçuşda" kararlaryň kabul edilmegini üpjün edýär:
  • Antifrod/AML: goýumlaryň gurluşyny, velocity hüjümlerini, üpjün edijileriň anomaliýalaryny kesgitlemek.
  • Responsible Gaming (RG): çäklerden ýokary, töwekgelçilik-patternler, öz-özüni aýyrmak.
  • Amallar/SRE: SLA zaýalanmagy, ýalňyşlyklar, wakalaryň irki signallary.
  • Önüm/marketing: şahsylaşdyrma wakalary, missiýalar/gözlegler, hakyky wagt segmentasiýasy.
  • Hasabat near-real-time: GGR/NGR penjireleri, iş panelleri.

Maksatlaýyn aýratynlyklary: p95 end-to-end 0. 5-5 s, doly ≥ 99. 5%, dolandyrylýan bahasy.

2) Salgylanma arhitekturasy

1. Ingest/Edge

`/events/batch` (HTTP/2/3), gRPC, OTel Collector.
Shemalary tassyklamak, anti-dublikatlar, geo-marşrut.

2. Waka şinasy

Kafka/Redpanda (partizanlaşma 'user _ id/tenant/market').
Retention 3-7 gün, gysyş, "döwülen" habarlar üçin DLQ/" karantin ".

3. Akym

Flink / Spark Structured Streaming / Beam.
Stateful-operatorlar, CEP, watermark, allowed lateness, deduplikasiýa.
Baýlaşdyrmak (Redis/Scylla/ClickHouse-Lookup), asinhron I/O bilen wagt.

4. Serwing/operasiýa vitrinleri

Minutly/sekuntly agregasiýa we dashbordlar üçin ClickHouse/Pinot/Druid.
Modelleri skoring üçin Feature Store (online).
Alert-topiki → SOAR/tiketing/webhukki.

5. Uzak möhletli saklamak (Lakehouse)

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

6. Syn ediliş

Paýlaýynlaryň metrikleri, treýsing (OTel), logi, lineage.

3) Shemalar we şertnamalar

Schema-first: JSON/Euro/Protobuf + Registry, 'schema _ version' her bir hadysada.
Ewolýusiýa: back-compatible - täze nullable meýdanlar; breaking - '/v2 '+ goşa neşir.
Hökmany meýdanlar: 'event _ time' (UTC), 'event _ id', 'trace _ id', 'user. pseudo_id`, `market`, `source`.

4) Penjireler, watermarks we gijikdirilen maglumatlar

Penjireler:
  • Tumbling (kesgitlenen), Hopping (örtülen), Session (hereketsizligi boýunça).
  • Watermark: waka-wagt boýunça "bilim" bosagasy; Mysal üçin, 2-5 minut.
  • Late data: düzedişleriň goşmaça emissiýasy, "late = true", DLQ güýçli yza 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) Stateful-agregasiýalar we CEP

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

Şina: at-least-once + partiýa ýerleşdirmegiň açarlary ýerli tertibi üpjün edýär.
Idempotentlik: 'event _ id' + dedup-state (TTL 24-72 sagat).
Sink: geleşik komissiýalary (2-faza) ýa-da upsert/merge-idempotentlik.
Outbox/Inbox: ALTP-den domen wakalarynyň kepillendirilen çap edilmegi.

7) Hakyky wagtda baýlaşdyrmak

Lookup: Redis/Scylla (RG-çäklendirmeler, KYC-status, BIN → MCC, IP → Geo/ASN).
Asinxron jaňlar: sanksiýalar/PER API bilen wagt we fallback ("unknown").
FX/wagt zolagy: bazaryň mukdarynyň kadalaşmagy we ýerli wagty ('fx _ source', 'tz').

8) Serwing we real-time vitrinler

ClickHouse/Pinot/Druid: minutlarda/sekuntlarda agregasiýalar, materialized views.
Gold-stream: GGR/RG/AML, SLA iş tablisalary gijä galmak üçin ≤ 1-5 minut.
API/GraphQL: Daşbordlar we daşarky integrasiýalar üçin pes gizlinlik.

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) Synlamak we SLO

SLI/SLO (görkezmeler):
  • p95 ingest → alert ≤ 2 s (möhüm), ≤ 5 s (galan).
  • Windows Completeness T ≥ 99. 5%.
  • Shema ýalňyşlyklary ≤ 0. 1%; 'trace _ id' bilen wakalaryň paýy ≥ 98%.
  • Akym hyzmatynyň elýeterliligi ≥ 99. 9%.
Daşbordlar:
  • Partiýa/topik boýunça laglar, operatorlaryň busy time, ýagdaýyň ululygy.
  • Huni "waka → düzgün → kazyýet", "gyzgyn" açarlar kartasy, late-ratio.
  • Bahasy: cost/GB, cost/query, çek nokatlarynyň/repleýleriniň bahasy.

10) Gizlinlik we gabat gelmek

PII-minimalizasiýa: ID lakamlaşdyrmak, meýdanlary gizlemek, PAN/IBAN tokenizasiýasy.
Maglumatlaryň rezidentligi: sebitleýin konweýerler (EEA/UK/BR), aýratyn şifrlemek açarlary.
Hukuk amallary: downstream penjirelerinde DSAR/RTBF, ýagdaýlar/hasabatlar üçin Legal Hold.
Audit: giriş ýazgylary, çözgütleriň üýtgemeýän arhiwleri.

11) Ykdysadyýet we öndürijilik

Açarlar we şarding: "gyzgyn" açarlardan gaça duruň (salting/composite key).
Döwlet: akylly TTL, snapshots, sazlama RocksDB/arka ştat.
Öňünden agregasiýa: ses akymlary üçin up-front reduce.
Sampling: mysal üçin kritiki däl metriklerde (geleşiklerde/laýyklykda däl).
Çargeback: mowzuklar/joblar üçin býudjetler, kwotalar we toparlar boýunça allokasiýa.

12) Akym DQ (hil)

Ingest-walidation (schema, enums, size), dedup '(event_id, source)'.
Akymda: completeness/dup-rate/late-ratio, penjirelere gözegçilik (goşa hasap ýok).
Reaksiýa syýasaty: critical → DLQ + alert; major/minor → tag we soňraky arassalamak.

Iň az düzgünler (YAML, mysal):
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ş howpsuzlygy we release-gözegçilik

RBAC/ABAC: akymlary okamak, düzgünleri/modelleri üýtgetmek üçin aýratyn rollar.
Dual control: "2 açar" arkaly düzgünler we modeller.
Canary/A/B: düzgünleriň we modelleriň garaňky uçuşlary, precision/recall gözegçiligi.
Syrlar: KMS/CMK, yzygiderli aýlanmak, ýazgylarda syrlary gadagan etmek.

14) Amallar we RACI

R (Responsible): Streaming Platform (infra/relizler), Domain Analytics (düzgünler/fiçalar), MLOps (skoring).
A (Accountable): Domenler boýunça Data/Risk/Compliance kellesi.
C (Consulted): DPO/Legal (PII/retention), SRE (SLO/hadysalar), Arhitektura.
I (Informed): Önüm, Goldaw, Marketing, Maliýe.

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

MVP (2-4 hepde):

1. Kafka/Redpanda + iki sany möhüm topika ('payments', 'auth').

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

3. ClickHouse/Pinot vitrin 1-5 minut, daşbordlar 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.
  • Kod hökmünde düzgünleri dolandyrmak, kanareýa relizleri, A/B.
  • DQ akymy, konweýerleriň sebitleşdirilmegi, DSAR/RTBF amallary.
3-nji faza (8-12 hepde):
  • Köp sebit active-active, "what-if" reple-simulýator, bosagalary awto kalibrlemek.
  • Doly hukukly Gold-stream vitrinleri (GGR/RG/AML), hasabat near-real-time.
  • Gymmat daşbordlar, chargeback, DR-maşklar.

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

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

  • Registry, back-compat synaglarynda shemalar we şertnamalar ý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 boýunça, ähli üýtgeşmeler ýazylýar.
  • Düzgünleriň, penjireleriň we runbook 'we repleýanyň/yzyna gaýtarmagyň resminamalary.

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

Ignor event-time: watermarks metriksiz "ýüzýärler".
Babasy ýok: ýalan alertler we goşa hasaba alyş.
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-daşbordlar.
Simulýatoryň ýoklugy: "replay" bolmasa çykmak regressiýalara sebäp bolýar.

19) Sözlük (gysgaça)

CEP - Complex Event Processing (Wakalar patterni).
Watermark - penjireleriň taýynlyk çägi.
Allowed Lateness - gijä galan wakalara ýol bermek.
Stateful Operator - saklanan ýagdaýy bolan operator.
Feature Store - alamatlaryň utgaşdyrylan hyzmaty (online/offline).

20) Jemleýji

Akym we akym analitikasy dolandyrylýan ulgam: şertnamalar, penjireler we watermarks, stateful-logika we CEP, baýlaşdyrmak we real-time vitrinleri, SLO we gözegçilik, gizlinlik we çykdajy gözegçilik astynda. Beýan edilen amallara eýerip, platforma ygtybarly töwekgelçilik detektorlaryny, iş panellerini we çak edilýän gizlinlik we çykdajylar bilen şahsylaşdyrmagy alý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.