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