Таҳлили ҷараён ва ҷараён
1) Мақсад ва арзиш
Схемаи ҷараён қабули қарорҳои парвозро таъмин мекунад:- Antifraud/AML: муайян кардани сохтори конҳо, ҳамлаҳои суръат, аномалияҳои провайдерҳо.
- Бозии масъулиятнок (RG): аз ҳад зиёд, шакли хатар, худдорӣ.
- Амалиётҳо/SRE: таназзули SLA, таркишҳои хато, сигналҳои барвақти ҳодиса.
- Маҳсулот/маркетинг: чорабиниҳои фардикунонӣ, миссияҳо/супоришҳо, сегментатсияи вақти воқеӣ.
- Ҳисобот дар вақти воқеӣ: намоишҳои GGR/NGR, панелҳои амалиётӣ.
Хусусиятҳои мақсаднок: p95 ба охири 0. 5-5 с, пуррагӣ ≥ 99. 5%, арзиши идорашаванда.
2) Меъмории истинод
1. Воридшавӣ/Edge
'/events/партия '(HTTP/2/3), GRPC, OTel Collector.
Тасдиқи схемаҳо, зидди нусхабардорӣ, гео-масир.
2. Автобуси чорабинӣ
Кафка/Редпанда (аз ҷониби 'user _ id/иҷорагир/бозор' тақсим карда шудааст).
Нигоҳдорӣ 3-7 рӯз, фишурдасозӣ, DLQ/" карантин" барои паёмҳои "шикаста".
3. Ҷараён
Flink/Spark сохтори ҷараён/чӯб.
Изҳороти давлатӣ, CEP, нишонаи обӣ, ба дурӣ, такрорӣ имкон доданд.
Ғанисозӣ (Redis/Scylla/Click 'House-Lookup), асинхронӣ I/O бо танаффус.
4. Намоишҳои хидматӣ/амалиётӣ
Барои ҷамъбасти дақиқа/сония ва панели панели Click/Pinot/Druid.
Дӯкони хусусият (онлайн) барои моделҳои баҳодиҳӣ.
Мавзӯъҳои ҳушдордиҳӣ → SOAR/чиптаҳо/вебҳукҳо.
5. Нигоҳдории дарозмуддат (Lakehouse)
Биринҷӣ (хом), нуқра (тоза), тилло (хизмат) - Parquet + Delta/Iceberg/Hudi.
Такрори/backtests, вақти сафар.
6. Мушоҳидакорӣ
Нишондиҳандаҳои қубур, пайгирӣ (OT bel), гузоришҳо, насл.
3) Нақшаҳо ва шартномаҳо
Схема-аввал: JSON/Avro/Protobuf + Registry, 'schema _ version' дар ҳар як ҳолат.
Эволютсия: бозгашт мувофиқ - майдонҳои нави нобудшаванда; шикастан - '/v2 '+ нашри дукарата.
Майдонҳои зарурӣ 'event _ time' (UTC), 'event _ id', 'trace _ id', 'корбар мебошанд. pseudo_id', 'бозор', 'манбаъ'.
4) Тирезаҳо, нишонаҳо ва маълумоти дер
Тирезаҳо:- Tumbling, Hopping, сессия.
- Нишони обӣ: ҳадди "дониш" дар вақти ҳодиса; мисол 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'.
Ҳолат: ҳисобкунакҳо/ҳисобкунакҳо, сессияҳо, филтрҳои балоғат барои такрорӣ.
Намунаҳои CEP: сохтор (<ҳадди ниҳоӣ, ≥ N маротиба, дар як T тиреза), дастгоҳ-коммутатор, RG-хастагӣ.
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) Маҳз як бор, фармоиш ва аблаҳӣ
Автобус: ҳадди аққал як маротиба + калидҳои тақсимкунӣ фармоиши маҳаллиро таъмин мекунанд.
Idempotence: 'event _ id' + ҳолати dedup (TTL 24-72 h).
Ғалтак: аҳдҳои транзаксионӣ (2-фаза) ё боло/merge-idempotency.
Outbox/Inbox: нашри кафолатноки рӯйдодҳои домейн аз OLTP.
7) ғанисозии вақти воқеӣ
Ҷустуҷӯ: Редис/Скилла (маҳдудиятҳои RG, вазъи KYC, BIN → MCC, IP → Geo/ASN).
Зангҳои асинхронӣ: таҳримҳо/APP API бо танаффус ва бозгашт ("номаълум").
FX/timezone: ба эътидол овардани миқдор ва вақти бозори маҳаллӣ ('fx _ source', 'tz').
8) Дӯкони хидматрасонӣ ва вақти воқеӣ
Ангушт занед/Pinot/Druid: маҷмӯаҳо бо дақиқаҳо/сонияҳо, назари моддӣ.
Ҷараёни тиллоӣ: ҷадвалҳои амалиётӣ GGR/RG/AML, SLA барои таъхири 1-5 дақиқа.
API/GraphQL: таъхири кам барои панели панелҳо ва ҳамгироии беруна.
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) Мушоҳида ва SLO
SLI/SLO (нишонаҳо):- p95 indest → ҳушдор ≤ 2 s (интиқодӣ), ≤ 5 s (тавозун).
- Пуррагии тирезаи T ≥ 99. 5%.
- Хатогиҳои схема ≤ 0. 1%; Фоизи ҳодисаҳо бо 'trace _ id' ≥ 98%.
- Дастрасии хидмати ҷараён ≥ 99. 9%.
- Ақибмонии ҳизб/мавзӯъ, операторони вақти банд, андозаи давлатӣ.
- Funnel "sobytiye → pravilo → калидҳо", харитаи калидҳои "гарм", дер-таносуб.
- Арзиш: арзиш/ГБ, арзиш/дархост, арзиши нуқтаҳои назоратӣ/такрорӣ.
10) Махфият ва риояи он
Кам кардани PII: тахаллуси ID, ниқоби саҳроӣ, токенизатсияи PAN/IBAN.
Ҷойгиркунии маълумот: қубурҳои минтақавӣ (EEA/UK/BR), калидҳои рамзгузории инфиродӣ.
Амалиёти ҳуқуқӣ: DSAR/RTBF дар мағозаҳои поёноб, Нигоҳдории ҳуқуқӣ барои парвандаҳо/ҳисоботҳо.
Аудит: гузоришҳои дастрасӣ, бойгонии ҳалли бетағйир.
11) Иқтисод ва маҳсулнокӣ
Калидҳо ва буриш: Аз калидҳои "гарм" канорагирӣ кунед (намак/калиди таркибӣ).
Шарт: TTL оқилона, лаҳзаҳо, танзими ҳолати RocKS/backend.
Preaggregation: коҳиш додани пеш барои ҷараёнҳои ғалоғула.
Интихоб: аз рӯи ченакҳои ғайримуқаррарӣ эътибор дорад (на аз муомилот/мувофиқат).
Баргардонидани маблағ: буҷетҳо барои мавзӯъҳо/ҷойҳои корӣ, квотаҳо ва тақсимоти гурӯҳҳо.
12) Ҷараёни DQ (Сифат)
Санҷиши воридшавӣ (схема, энумҳо, андоза), dedup '(event_id, манбаъ)'.
Дар ҷараён: пуррагӣ/dup-rate/таносуби дер, назорати тиреза (ҳисобкунии дукарата нест).
Сиёсати реаксия: ҳушдори интиқодӣ → DLQ +; теги асосӣ/ноболиғ ва баъд равшан.
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) Назорати амният ва озодкунӣ
RBAC/ABAC: нақшҳои алоҳида барои хондани риштаҳо, тағир додани қоидаҳо/моделҳо.
Назорати дугона: таҳияи қоидаҳо ва моделҳо тавассути "2 калид".
Canary/A/B: қоидаҳои торик ва модел, назорати дақиқ/бозхонд.
Асрҳо: KMS/CMK, гардиши мунтазам, манъи асрори гузоришҳо.
14) Равандҳо ва RACI
R (Масъул): Платформаи ҷараён (infra/releases), Domain Analytics (қоидаҳо/хусусиятҳо), MLOps (баҳодиҳӣ).
A (Ҳисоботдиҳӣ): Сардори маълумот/хатар/мувофиқат аз рӯи домен.
C (Машварат): DPO/Ҳуқуқӣ (PII/нигоҳдорӣ), SRE (SLO/Ҳодисаҳо), Меъморӣ.
Ман (Маълумот): Маҳсулот, дастгирӣ, маркетинг, молия.
15) Харитаи роҳсозӣ
MVP (2-4 ҳафта):1. Кафка/Редпанда + ду мавзӯи муҳим ('пардохт', 'auth').
2. Кори дурахшон бо нишонаи обӣ, дефликатсия ва як қоидаи 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), дар вақти воқеӣ гузориш медиҳанд.
- Dashboard арзиш, chargeback, машқҳои DR.
16) Намунаҳо (пораҳо)
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);
}
17) Рӯйхати санҷиши пеш аз фурӯш
- Схемаҳо ва шартномаҳо дар Феҳрист, санҷишҳои бозгашт-компат сабз мебошанд.
- Нишони обӣ/lateness, dedup ва DLQ-ро дар бар мегирад.
- SLO ва огоҳиҳои танзимшуда (ақибмонӣ/дер/dup/андозаи давлатӣ).
- Ғанисозӣ бо кэш ва танаффус, афтиши "номаълум".
- RBAC/назорати дугона ба қоидаҳо/моделҳо, ҳама тағирот ворид карда мешаванд.
- Қоидаҳо, дӯконҳо ва ҳуҷҷатҳои дафтарча ва такрори/бозгашт.
18) Хатогиҳои зуд-зуд ва чӣ гуна аз онҳо канорагирӣ кардан
Вақти ҳодисаро нодида гиред: бидуни нишонаҳои обӣ, ченакҳои "шино".
Бе такрорӣ: огоҳиҳои бардурӯғ ва ҳисобкунии дукарата.
Калидҳои гарм: таҳрифи тарафҳо → намак/барқароркунӣ.
API-ҳои синхронӣ дар роҳи гарм: танҳо async + кэш.
Арзиши идорашаванда: preaggregations, давлатҳои TTL, квотаҳо, панелҳои хароҷот.
Набудани симулятор: роликҳо бидуни "дубора" ба регрессия оварда мерасонанд.
19) Луғат (мухтасар)
CEP - Коркарди чорабиниҳои мураккаб.
Нишони обӣ - маҳдудияти омодагии тиреза аз рӯи вақти ҳодиса.
Lateness иҷозат дода шудааст - таҳаммулпазирии рӯйдодҳои дер.
Оператори давлатӣ - оператори дорои ҳолати наҷот.
Дӯкони хусусият - серфинги хусусиятҳои ҳамоҳангшуда (онлайн/офлайн).
20) Сатри поён
Таҳлили ҷараён ва ҷараён як системаи идорашаванда аст: шартномаҳо, тирезаҳо ва нишонаҳои обӣ, мантиқи давлатӣ ва CEP, ғанисозӣ ва мағозаҳои воқеӣ, SLO ва мушоҳидаҳо, махфият ва арзиши таҳти назорат. Бо риояи таҷрибаҳои тавсифшуда, платформа детекторҳои боэътимоди хатар, панелҳои амалиётӣ ва фардикунониро бо таъхир ва арзиши пешбинишаванда мегирад.