Իրական ժամանակում ազդանշանների վերամշակում
1) Նշանակումը և բիզնեսի արժեքը
Real-time հոսքը պետք է արձագանքել «այստեղ և հիմա»։
Անտիֆրոդ/AML 'ավանդների կառուցվածք, «մուլացիա», velocity հարձակումներ։
Responsible Gaming (RG) 'սահմանափակումների ավելցուկ, վարքի ռիսկեր։
Ռիսկ/Complaens: Սանկցիոն սկրինինգը գրանցվելիս/գործարքում առցանց։
Նիշալիզացիա 'բոնուսների/շարժիչների, ռեակտիվ արշավների։
Վիրահատություններ/MSE 'SLA-ի դեգրադացիաներ, սխալներ, անոմալիաներ։
Հիմնական նպատակները 'ցածր ուշացում (p95 0։ 5-5 s), բարձր (3699)։ 5%), աճի դիմադրությունը։
2) Ազդանշանների տաքսոնոմիա
Գործարքային ՝ "pay.ru. deposit/withdraw/chargeback`.
Խաղային '"game. bet/payout`, `game. session_start/stop`.
Վավերացում ՝ "auth. login/failure ", սարքերի/գեոյի փոփոխություն։
Վարքագծային 'արագությունը, գումարի էքսպոնենցիալ աճը, գիշերային ակտիվությունը։
Վիրահատական ' Յուրաքանչյուր տեսակի ունի սխեմա, պատկանում է (domain owner), քննադատություն, SLO և «late of» կանոնները։ 3) Real-Time-ի ստանդարտ ճարտարապետությունը 1. Ingest and shina: HTTP/gRPC no Edge no Kafka/Redpanda («user _ id/tenae»)։ 2. Streaming-движок: Flink/Spark Structured Streaming/Beam; stateful-օպերատորներ, CEP։ 3. Առցանց հարստացում ՝ lookup աղյուսակներ (Redis/Scylla/ClickHouse Read-Only), պրովայդերների (սանկցիաներ/CUS)։ 4. Սինկի Ալերթ-տոպիկի/կյու (com-կառավարում, SOAR)։ Ֆիչեստորը առցանց է (մոդելների արագ)։ Gold-strim-վիտրիններ (dashbords)։ «Տաք» պահեստը արագ վերլուծության համար (ClickHouse/Pinot/Deluid)։ 5. Արխիվը/ֆորենզիկան 'անփոփոխ ծալումը Lake-ում (Parquet, time-travel)։ 6. Դիտարկումը 'թրեյսինգ/մետրեր/լոգներ + lineage։ 4) Պատուհաններ, watermarks և «late to» Պատուհանների տեսակները Tumbling: ֆիքսված պատուհաններ (օրինակ ՝ 1 րոպե) - պարզ ագրեգատներ։ Hopping: արգելափակված (օրինակ, 30 քայլ, պատուհան 2 րոպե) - «հարթ» մետրեր։ Session: Նվազեցման ընդմիջումները վարքագծային վերլուծություն են։ Watermarks: «ժամանակի գիտելիքների» սահմանը event-time-ի համար։ թույլ ենք տալիս ուշանալ (allowed lateness, օրինակ ՝ 2 րոպե)։ Ուշացած ռազմավարությունները 'ենթաօրենսդրություն, «late = 105», DLQ։ 5) Stateful-օպերատորները և deduplication-ը Առանցքային '"user _ id", "payment։ account_id`, `device_id`. Վիճակը 'սոմատորներ, սայթաքող հաշվիչներ, բլոում ֆիլտրեր idempotency-ի համար։ Դեդուպը 'պահպանումը' (event _ id, seen _ at) 'state/kv; TTL = 24-72 ռուբլիներ Exactly-Once: Գործարքային sink 'և (2-phom), ipsotent upsom վիրահատություն։ 6) Հոսքի հարստացումը Lookup-joins: RG-ի սահմանները, օգտագործողի ռիսկային սկլորը, KYC, geo/ASN մակարդակը։ Ասինխրոն մարտահրավերներ ՝ սանկցիոն պաշտպանություն/հակաֆրոդ պրովայդերներ (Async I/O, թայմաուտներ և fallback)։ Արժույթների/թայմզոնի նորմալացումը 'UTC-ի և 105 ռուբլու նվազմանը։ ամրագրել «fx _ source»։ 7) CEP 'բարդ պաթոիդների հայտնաբերումը։ Կանոնների օրինակներ Structuring: 353 դեպոզիտ 10 րոպեում, յուրաքանչյուրը <զեկույցի շեմն է, ընդհանուր> X։ Device-switch: 3 տարբեր սարքեր 15 րոպեում + փոփոխություն IP/ASN։ RG-fatigue: Ընդհանուր տոկոսադրույքները 1 ժամվա ընթացքում> լիմիտի + կորուստը Ye։ Ops-storm: p95 latency> 2 հազար ռուբլիներ, 5xx> 3 տոկոսը 5 րոպե պատուհանում։ CEP-ը հարմար է Flink CEP/SQL-ում կամ իրադարձությունների մոդելների գրադարաններում։ 8) Առցանց ֆիչին և մոդելները Feature pipelines: հաշվիչներ, velocity-metriks, «ժամանակը վերջին իրադարձությունից», of-wallet։ Online/www.ru-ի համաձայնությունը 'փոխակերպման մեկ կոդային հիմքը։ հոսանքի փորձարկումներ։ Սկորինգը 'լայթ մոդելները (լոգիթ/GBDT) սինխրոն; ծանր - ասինխրոն հերթով։ Դրեյֆի վերահսկումը 'PSI/KS և ալերտներ; «մութ գործարկումները» նոր մոդելների համար։ 9) Առաքման երաշխիքները և կարգը At-leport-once-ը անվադողերի մեջ + idempotention ընդունելիս։ Բանալին կուսակցելը տեղական կարգ է ապահովում։ Retries & backpressure: էքսպոնենցիալ հետքեր jitter-ից, ճնշման ավտոմատ վերահսկումը։ 10) SLO/SLI (խորհուրդ) 11) Real-Time-ի դիտարկումը Metriki pline: throughput, lag per partics, buby time, www.kpoint duration։ Ազդանշանների որակը 'completeness, duplectrate, late ratio։ Dashbords: Lage-ի ջերմային քարտեզը, alert-ձագը (իրադարձությունը կատարվում է քեյսի կանոնով), տաք պարամետրերի քարտեզը։ Թրեյսինգը 'ալերտը կապել սկզբնական իրադարձությունների հետ (trace _ id)։ 12) Անվտանգությունն ու գաղտնիությունը PII-նվազեցումը 'ֆոսֆատորների թունավորում, զգայուն դաշտերի դիմակավորում։ Geo-residency: տարածաշրջանային փոխակրիչները (EFC/UK/RF)։ Աուդիտ 'անփոփոխ որոշումների լոգներ (ո՞ վ, ինչու), Legal Hold-ը։ Հասանելիությունը 'RBAC-ը կանոններին/մոդելներին, կրկնակի վերահսկողությունը։ 13) Արժեքը և արտադրողականությունը Տաք բանալիները 'վերաբաշխումը (key salting), composite keys։ Վիճակը ՝ խելացի TTL, ռուսական իրական նյութականացում, Rocult DB-tuning։ Պատուհաններ ՝ օպտիմալ չափսեր և allowed lateness; pre-aggregation շերտերը աղմկոտ հոսքերի համար։ Սեմպլացիա 'ոչ ռիթմիկ հոսքերի վրա և մետրիկի մակարդակում (ոչ գործարքների/համակցությունների վրա)։ 14) Օրինակներ (պարզեցված) Flink SQL-ը դեպոզիտների structuring (10 րոպե պատուհան, step 1 րոպե) Կեղծ-velocity-ը տոկոսադրույքով Event _ id (Kafka Streams)։ 15) Գործընթացներ և RACI R (Responsible): Streaming Platform (infra, վիճակը, ալյումինը), Domain Analytics (կանոնները/fics)։ A (Accountable): Head of System/Risk/Compliance իր կատալոգներով։ C (Consulted): DPO/Legal (PII/retention), DRE (SLO/պատահականություն), Ճարտարապետություն։ I (Informed) 'ապրանք/Աջակցություն/Մարքեթինգ։ 16) Իրականացման ճանապարհային քարտեզը MVP (2-4 շաբաթ) 1. 2-3 կրիտիկական ազդանշաններ (օրինակ ՝ «payam»)։ deposit`, `auth. login`, `game. bet`). 2. Kafka + Flink, հիմնական dedup և watermark; Մեկ CEP կանոնները հակաֆրոդի համար և մեկը 'RG-ի համար։ 3. ClickHouse/Pinot վիրահատական վիտրինի համար; dashbords lag/completeness. 4. Պատահականության ալիքը (webhook/Jira) և ձեռքով triage։ Aleksanda 2 (4-8 շաբաթ) Առցանց ֆիչեստորը, լայթ մոդելների կարբինգը։ ասինխրոն lookups (սանկցիաներ/KUS)։ Կանոնների կառավարումը որպես կոդ, kanarekates, A/B կանոններ։ Ռեգիոնալիզացիան և PII-ը վերահսկեցին, Legal Hold-ը քեյսերի համար։ Բրազիլիա 3 (8-12 շաբաթ) Ազդանշանների կատալոգ, փաստաթղթերի ավտոմատ արտադրություն, «replay & what-if» սիմուլյատոր։ Ավտոկալիբրովկան (Bayesian/quantile), precision/recall-ը առցանց։ DR ուսուցումները, multi-region action, chargeback մոդելներ թիմերում։ 17) Որակի թուղթ մինչև վաճառելը 18) Հաճախակի սխալներ և ինչպես խուսափել դրանցից Event-time-ի անտեսումը 'օգտագործեք watermarks, հակառակ դեպքում «սողացող» մետրերը։ Դեդուպա չկա, կրկնօրինակները կտան կեղծ ալտերտեր, որոնք պետք է մուտքագրեն idempotency-ը։ Տաք բանալիներ 'կուսակցության խաչմերուկը salting/resharding։ Չափազանց կոշտ պատուհաններ 'ուշացած www.allowed lateness + ուղղիչ արտանետումների կորուստ։ PII-ի խառնուրդը 'կիսեք թունավորումը և վերլուծական հոսքը։ Սիմուլյատորներ չկան, փորձարկեք կանոնները «վերամշակման» վրա, նախքան դուրս գալը։ 19) Գլոսարիա (հակիրճ) CEP-ը Complex Event Processing-ն է, պաթոգենների հայտնաբերումը։ Watermark-ը ժամանակն է պատուհանի պատրաստման համար։ Allowed Lateness-ը ուշացած իրադարձությունների պաշտպանությունն է։ Stateful Operics-ը կայուն վիճակ ունեցող օպերատոր է։ Feature Store-ը ML-ի համար առցանց/օֆլայնային նշաններ է։ 20) Արդյունքը Real-time-ը կառավարվող փոխակրիչ է 'հստակ սխեմաներով, պատուհաններով և watermark' ami, stateful տրամաբանությամբ, առցանց հարստությամբ և SLO-ով։ Հետևելով այս գործելակերպին, դուք ստանում եք ռիսկի արագ և հուսալի դետեկտորներ, դիմացկուն կերպարներ և պարամետրեր, որոնք մեծանում են տնտեսապես և հաճույքով։sql
CREATE VIEW deposits AS
SELECT user_id, amount, ts
FROM kafka_deposits
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY ts
MEASURES
FIRST(A. ts) AS start_ts,
SUM(A. amount) AS total_amt,
COUNT() AS cnt
ONE ROW PER MATCH
AFTER MATCH SKIP PAST LAST ROW
PATTERN (A{3,})
WITHIN INTERVAL '10' MINUTE
) MR
WHERE total_amt > 500 AND cnt >= 3;python key = event. user_id window = sliding(minutes=5, step=30) # hopping window count = state. counter(key, window)
sum_amt = state. sum(key, window)
if count > 30 or sum_amt > THRESH:
emit_alert("RG_VELOCITY", key, snapshot(state))java if (!kvStore.putIfAbsent(event. getId(), now())) {
forward(event); // unseen -> process
}