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.
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.
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).
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%.
- 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 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.
- 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.