Таҳлили вақти воқеӣ
1) Мақсад ва арзиши тиҷорат
Таҳлили вақти воқеӣ (RTA) реаксияҳоро дар сонияҳо, на соатҳо таъмин мекунад:- AML/Antifraud: конҳои сохторӣ, ҳамлаҳои суръат, амалиёти хатар.
- Бозии масъулиятнок (RG): аз ҳад зиёд, шакли хатар, худдорӣ.
- SRE/Амалиётҳо: ташхиси барвақти таназзули SLA, таркишҳои хато, аз ҳад зиёд гарм кардани кластер.
- Маҳсулот ва маркетинг: триггерҳои фардикунонӣ, миссияҳо/супоришҳо, сегментатсияи вақти воқеӣ.
- Ҳисоботи амалиётӣ: дар вақти воқеӣ GGR/NGR, панели толорҳо/провайдерҳо.
Ҳадафҳо: p95 охири-ба-охири 0. 5-5 с, пуррагӣ ≥ 99. 5%, мавҷудият ≥ 99. 9%.
2) Меъмории истинод
1. Instest/Edge - '/events/back '(HTTP/2/3), GRPC, Collector OTel; тасдиқи схемаҳо, анти-нусхаҳо, гео-масир.
2. Автобуси чорабинӣ - Кафка/Редпанда (иштироки 'корбар _ ид/иҷорагир/бозор', DLQ, нигоҳдорӣ 3-7 рӯз).
3. Коркарди ҷараён - Flink/Spark Structured Streaming/Beam: операторони давлатӣ, CEP, нишонаҳои обӣ, ба дермонӣ, марг имкон доданд.
4. Ғанисозии онлайн - Ҷустуҷӯи Redis/Scylla/Click
5. Хизматрасонӣ - Click/House/Pinot/Druid (намоишҳои амалиётӣ 1-5 дақиқа), Дӯкони хусусият (аломатҳои онлайн), вебхукҳо/чиптаҳо/SOAR.
6. Lakehouse - биринҷӣ/нуқра/тилло барои муттаҳидсозии дарозмуддат, такрорӣ ва оштӣ.
7. Мушоҳида - ченакҳои қубурӣ, пайгирӣ (OT bel), гузоришҳо, насл ва панели хароҷот.
3) Сигналҳо ва таксономия
Пардохтҳо: 'пардохт. амонат/бозпас гирифтан/ситонидан '.
Бозӣ: 'бозӣ. Бет/пардохт ', ҷаласаҳо.
Аутентификатсия ва рафтор: 'auth. login/нокомӣ', гузариш ба дастгоҳ, суръат.
Амалиёт: таъхир, хатогӣ, бозоғозии оташдон, пуррагӣ.
Мувофиқат: таҳқиқи санксия, парчамҳои RG, чорабиниҳои DSAR.
Ҳар як намуди соҳиби домейн, схема, SLO тару тоза ва сиёсати деринаи маълумот дорад.
4) Тирезаҳо, нишонаҳо ва маълумоти дер
Тирезаҳо: афтиш (собит), давидан, сессия.
Нишони обӣ: сарҳади "дониш аз рӯи вақт" (одатан 2-5 дақиқа).
Ҳодисаҳои таъхирнопазир: масъалаи иловагии ислоҳот, парчами 'дер = ҳақиқат', 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) CEP ва маҷмӯаҳои давлатӣ
Калид: 'user _ id', 'дастгоҳ _ id', 'пардохт. account_id'.
Ҳолат: ҳисобкунакҳо/суммаҳо, филтрҳои балоғат барои такроршавӣ, TTL.
Намунаҳои CEP: сохтор (<ҳадди ниҳоӣ, ≥ N маротиба, дар як T тиреза), дастгоҳ-коммутатор, RG-хастагӣ.
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) Маҳз як бор, фармоиш ва аблаҳӣ
Ҳадди аққал як маротиба дар автобус + тарҳ аз ҷониби 'event _ id' ҳангоми коркард (TTL 24-72 соат).
Фармоиш: тақсимот аз рӯи калидҳо (фармоиши маҳаллӣ кафолат дода мешавад).
Ғалтак: аҳдҳои транзаксионӣ (2-фаза) ё idempotent upsert/merge.
Outbox/Inbox: нашри транзаксионии рӯйдодҳои домейн аз OLTP.
7) Дӯкони ғанисозӣ ва хусусиятҳои онлайн
Ҷустуҷӯ: Маҳдудиятҳои RG, ҳолати KYC, BIN → MCC, IP → Geo/ASN, бозорҳо/андозҳо, FX дар вақти чорабинӣ.
Зангҳои асинхронӣ: таҳримҳо/APP API бо танаффус; хатогӣ - 'номаълум' + бозгашт/кэш.
Дӯкони хусусият: гуфтушунидҳои онлайн/офлайнӣ; як пойгоҳи табдилдиҳӣ.
8) Дӯкони вақти воқеӣ ва серфинг
Клик/Пинот/Друид: агрегатҳои дуввум/дақиқа, назари моддӣ, SLA барои таъхири 1-5 дақиқа.
API/GraphQL: таъхири кам барои панелҳо/виджетҳо.
Огоҳиҳо: webhooks/Jira/SOAR бо контексти ғанӣ (trace_id, рӯйдодҳои охирин).
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) Метрика, SLI/SLO ва панели панелҳо
SLI/SLO-ҳои тавсияшуда:- p95 indest → ҳушдор ≤ 2 с (қоидаҳои интиқодӣ), ≤ 5 с (дигар).
- Пуррагии тирезаи T ≥ 99. 5%; Амали схема ≥ 99. 9%; Фарогирии пайгирӣ ≥ 98%.
- Дастрасии хидмати ҷараён ≥ 99. 9%; дер таносуби ≤ 1%.
- Қафо аз рӯи ҳизбҳо/мавзӯъҳо; вақти серодами операторон; андозаи давлатӣ.
- Funnel "sobytiye → pravilo → калидҳо", дақиқ/ёдраскунӣ аз рӯи домен.
- Корти гармӣ дер/пуррагӣ; харитаи калиди гарм.
10) Ҷараёни DQ (Сифат)
Санҷишҳо: схема/enums/маҳдудиятҳои андоза, зидди нусхабардорӣ.
Дар ҷараён: пуррагӣ/dup-rate/таносуби дер, дурустии тиреза (бидуни ҳисобкунии дукарата).
Сиёсати аксуламал: интиқодӣ → DLQ + pager; major/minor → tagging + гузориш.
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) Махфият, амният ва иқомат
Кам кардани PII: бегона кардани ID, ниқоби ҳассос, токенизатсияи PAN/IBAN.
Ҷойгиркунии маълумот: қубурҳои минтақавӣ (EEA/UK/BR), калидҳои инфиродӣ KMS.
DSAR/RTBF: таҳрири интихобӣ дар мағозаҳои поёноб; Нигоҳдории ҳуқуқӣ барои парвандаҳо/ҳисоботҳо.
Аудит: сабтҳои ивазнашавандаи тағирот/қоидаҳо, сабти ном.
12) Иқтисод ва маҳсулнокӣ
Sharding/калидҳо: аз калидҳои "гарм" (намак/таркиб), тавозуни тарафҳо худдорӣ кунед.
Статус: TTL, лаҳзаҳои фишурда, танзими пушти Rocks-DB/давлат.
Маҷмӯаҳои пешакӣ: дар марҳилаҳои аввал барои мавзӯъҳои пурғавғо кам кунед.
Интихоб: танҳо барои ченакҳои ғайримуқаррарӣ (на муомилот/мувофиқат).
Пардохт: Буҷаи мавзӯъ/кор, квотаҳои такрорӣ ва дархостҳои вазнин.
13) Равандҳо ва RACI
R: Платформаи ҷараён (маълумот/релизҳо), Domain Analytics (қоидаҳо/хусусиятҳо), MLOps (баҳодиҳӣ/мағозаи хусусият).
A: Сардори маълумот/хатар/мувофиқат аз рӯи домен.
C: DPO/Ҳуқуқӣ (PII/нигоҳдорӣ), SRE (SLO/ҳодисаҳо), меъморӣ.
I: Маҳсулот, дастгирӣ, маркетинг, молия.
14) Харитаи роҳсозӣ
MVP (2-4 ҳафта):1. Кафка/Редпанда + 2 мавзӯъҳои муҳим (масалан, 'пардохтҳо', 'auth').
2. Кори флинк бо нишонаи обӣ, такрорӣ ва 1 қоидаҳои CEP (AML ё RG).
3. Намоиши амалиётӣ дар Click/House/Pinot (1-5 дақиқа), панелҳои ақибмонда/пуррагӣ.
4. Канали ҳодиса (webhooks/Jira), SLO-ҳои асосӣ ва огоҳиҳо.
Марҳилаи 2 (4-8 ҳафта):- Ғанисозии онлайн (Redis/Scylla), Дӯкони хусусият, ҷустуҷӯи асинхронӣ.
- Идоракунии қоидаҳо ҳамчун рамз, канарӣ/A-B, ҷараёнҳои DQ.
- Минтақасозии конвейерҳо, тартиботи DSAR/RTBF, Нигоҳдории ҳуқуқӣ барои парвандаҳо.
- Бисёр минтақаҳои фаъол-фаъол, такрорӣ ва агар симулятор, калибровкаи худкор.
- Дӯкони тиллоӣ (GGR/RG/AML), ҳисобот дар вақти воқеӣ.
- Арзиш-панелҳо, пардохт, DR-машқҳо.
15) Намунаҳо (пораҳо)
Flink CEP - коммутатори дастгоҳ: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
Ҷараёнҳои Кафка - филтри idempotent:
java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}
16) Рӯйхати санҷиши пеш аз фурӯш
- Схемаҳо/шартномаҳо дар Феҳрист, санҷишҳои бозгашт-компат сабз мебошанд.
- Нишони обӣ/lateness, dedup ва DLQ-ро дар бар мегирад.
- SLO ва огоҳиҳои танзимшуда (ақибмонӣ/дер/dup/андозаи давлатӣ).
- Ғанисозӣ бо кэш ва танаффус; афтодани "номаълум".
- RBAC/назорати дугона аз рӯи қоидаҳо/моделҳо; сабти тағирот фаъол аст.
- Ҳуҷҷатгузории қоидаҳо/тирезаҳои мағоза; runbook 'ва такрори/бозгашт.
17) Хатогиҳои зуд-зуд ва чӣ гуна аз онҳо канорагирӣ кардан
Вақти ҳодисаро нодида гиред: бидуни нишонаҳои обӣ, ченакҳои "шино".
Бе такрорӣ: огоҳиҳои бардурӯғ, ҳисобкунии дукарата.
Калидҳои гарм: таҳрифи тарафҳо → намак/барқароркунӣ.
API-ҳои синхронӣ дар роҳи гарм: танҳо async + кэш.
Арзиши идорашаванда: прегрегатсияҳо, давлатҳои TTL, квотаҳо, мониторинги хароҷот.
Не симулятор: роликҳо бе такрори → регрессия.
18) Сатри поён
Таҳлили вақти воқеӣ "BI-и зуд" нест, балки як схемаи идорашаванда бо шартномаҳо, мантиқи давлатӣ, CEP, нишонаҳои обӣ, ғанисозии онлайн ва SLO-ҳои қатъӣ мебошад. Бо риояи ин таҷрибаҳо, платформа сигналҳо ва қарорҳои дақиқро дар тӯли сонияҳо мегирад, мувофиқат, сенарияи маҳсулот ва устувории амалиётиро бо арзиши назоратшаванда нигоҳ медорад.