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