GH GambleHub

Սթրիմինգը և ջրհեղեղի վերլուծաբանը

1) Նշանակումն ու արժեքը

Սթրիմինգի ֆորումը ապահովում է «ամռանը» որոշումների ընդունումը

Անտիֆրոդ/AML 'դեպոզիտների կառուցվածքի հայտնաբերումը, velocity-հարձակումը, պրովայդերների անոմալիան։

Responsible Gaming (RG) 'սահմանների ավելցուկ, ռիսկի-փամփուշտներ, ինքնախաբեություններ։

Վիրահատություններ/MSE 'SLA-ի քայքայումը, սխալների աճը, վաղ ազդանշանները։

Ապրանքը/մարքեթինգը 'կերպարների, առաքելությունների/որոնումների, real-time սեգմենտացիայի իրադարձությունները։

Near-real-time: GGR/NGR վիտրիններ, վիրահատական վահանակներ։

Նշված հատկությունները 'p95 end-to-end 0։ 5-5 s, ամբողջական թիվ 99։ Հինգ տոկոսը, կառավարվող արժեքը։


2) Ստանդարտ ճարտարապետությունը

1. Ingest/Edge

`/events/batch` (HTTP/2/3), gRPC, OTel Collector.

Սխեմաների վալիդացիա, հակա կրկնօրինակներ, գեո-միկրոակտիզացիա։

2. Իրադարձությունների անվադողեր

Kafka/Redpanda («user _ id/tenae/market»)։

Retention 3-7 օր, DLQ/« կարանտին »հաղորդագրությունների համար։

3. Ջրհեղեղի վերամշակում

Stateful-վիրահատները, CEP, watermark, allowed lateness, deduplication։

Flink / Spark Structured Streaming / Beam.

Հարստացումը (Redis/Scylla/ClickHouse-Lookup), asinhron I/O թայմաուտներով։

4. Serving/wwwwards

ClickHouse/Pinot/Druid-ը րոպեում/վայրկյան միավորման և տաշբորդի համար։

Feature Store (onation) մոդելների սկորինգի համար։

Alert-topics no SOAR/ticeting/webhuki։

5. Երկարատև պահպանումը (Lakehouse)

Bronze (raw), Silver (clean), Gold (serve) — Parquet + Delta/Iceberg/Hudi.

Repley/bektests, time-travel։

6. Դիտարկումը

Metriki plins, tresing (OTel), logs, lineage։


3) սխեմաներ և պայմանագրեր

Schema-first: JSON/Avro/Corobuf + Registry, «schema _ version» յուրաքանչյուր իրադարձության մեջ։

Էվոլյուցիա 'back-compatible - նոր nullable դաշտեր։ breaking-ը '/v2 '+ կրկնակի հրատարակություն է։

Պարտադիր դաշտերը ՝ "event _ time" (UTC), "event _ id", "trace _ id", "user. pseudo_id`, `market`, `source`.


4) Պատուհաններ, watermarks և ուշացած տվյալներ

Պատուհաններ

Tumbling (ֆիքսված), Hopping (արգելափակումով), Session (ճշգրտությամբ)։

Watermark '«գիտելիքների» շեմն event-time; օրինակ, 2-5 րոպե։

Late to: Ենթաբազմություն, «late = 108», DLQ ուժեղ հրաժարվելիս։

Flink SQL-ի օրինակը (10 րոպե velocity դեպոզիտներ)

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-ագրեգացիան և CEP-ը

Վիճակը 'սայթաքող գումարներ/հաշվիչներ, նստաշրջաններ, բլոում ֆիլտրեր պապուպի համար։

Հիմնական ՝ "user _ id", "device _ id", "payment. account_id`.

CEP-patterns: կառուցվածք (<շեմն, N- ը, T պատուհանի հետևում), device-switch, RG-fatigue։

Prindocod CEP

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, կարգը և գաղափարախոսությունը

Շինա 'at-least-once + կուսակցության բանալիները ապահովում են տեղական կարգը։

Idempotention: "event _ id '+ dedup-state (TTL 24-72 ժամ)։

Sink: Գործարքային համայնքները (2-phant) կամ ups.ru/merge-idempotenty։

Medibox/Inbox: OLTP-ի հիբրիդային իրադարձությունների երաշխավորված հրատարակումը։


7) Իրական ժամանակում հարստացումը

Lookup: Redis/Scyla (RG-limits, KYC կարգավիճակը, BIN 35MCC, IP no Geo/ASN)։

Ասինխրոն մարտահրավերներ ՝ սանկցիոն/RER API թայմաուտների և ֆալբակի հետ («unknown»)։

FX/թայմզոն 'գումարների նորմալացում և շուկայի տեղական ժամանակը («fx _ source», «tz»)։


8) Սերվինգը և real-time վիտրինները

ClickHouse/Pinot/Winuid: Միավորումներ րոպեում/վայրկյանում, materialized views։

Gold-stream: GGR/RG/AML, SLA '1-5 ռուբլու ուշացման համար

API/GraphQL 'ցածր լատենտ dashbords և արտաքին ինտեգրիաների համար։

ClickHouse-ի օրինակը (GGR)

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 ingest ental.ru (քննադատական), 245 s (մնացած)։

Completeness պատուհանի T-99։ 5%.

Սխեմաների սխալները 0։ 1%; իրադարձությունների մասնաբաժինը 'trace _ id' 3598%։

Սթրիմ-4999-ի հասանելիությունը։ 9%.

Դաշբորդները

Խմբակցությունների/տոպիկների ճամբարները, օպերատորների ժամանակը, վիճակի չափը։

Վորոնկա «իրադարձությունը հաստատվում է քեյսի կանոնով», «տաք» քարտեզ, late-ratio։

Արժեքը ՝ cost/GB, cost/query, chekpoints/repley արժեքը։


10) Գաղտնիությունը և կոմպլենսը

PII-նվազեցումը 'ID կեղծանունացում, դաշտերի դիմակավորում, PAN/IBAN թունավորում։

Տվյալների ռեզոնանսը 'տարածաշրջանային փոխակրիչներ (EFC/UK/RF), առանձին շարժիչների բանալիներ։

Իրավական վիրահատությունները ՝ DSAR/RTBF-ը downstream վիտրիններում, Legal Hold-ի համար։

Աուդիտ 'հասանելիության լույսեր, որոշումների անփոփոխ արխիվներ։


11) Տնտեսագիտություն և արտադրողականություն

Բանալիները և շարդինգը 'խուսափեք «տաք» կոմպոզիցիայից (salting/composite key)։

Վիճակը ՝ խելացի TTL, Snepshots, Rocult DB/backend steit։

Կանխատեսումը 'up-front reduce աղմկոտ հոսքերի համար։

Sampling: Թույլ տվեք ոչ ռիթմիկ չափումների վրա (ոչ գործարքների/համակցությունների վրա)։

Chargeback: բյուջեներ թեմաների/ջոբայի, քվոտաների և թիմերի վրա։


12) Ջրհեղեղի DQ (որակը)

Ingest-validation (schema, enums, size), dedup «(event _ id, source)»։

Հոսքի վրա 'completeness/dup-rate/late-ratio, պատուհանների վերահսկողություն (կրկնակի հաշվարկ չկա)։

Արձագանքի քաղաքական գործիչները ՝ critical ww.DLQ + alert; major/minor teg և հաջորդ մաքրումը։

Նվազագույն կանոնները (YAML, օրինակ)

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) Մուտքի անվտանգությունը և rele.ru-վերահսկողությունը

RBAC/ABAC 'առանձին դերեր հոսքերի կարդալու, կանոնների/մոդելների փոփոխության համար։

Dron.rl: Կանոնները և մոդելները «2 բանալին» միջոցով։

Canary/A/B 'կանոնների և մոդելների մութ արձակումը, precision/recall վերահսկումը։

Գաղտնիքները ՝ KFC/CMK, հիբրիդային ռոտացիա, բլոգերում գաղտնիքների արգելք։


14) Գործընթացներ և RACI

R (Responsible): Streaming Platform (infra/linfra), Domain Analytics (կանոնները/fics), MLOps (կարբինգ)։

A (Accountable): Head of Live/Risk/Compliance։

C (Consulted): DPO/Legal (PII/retention), DRE (SLO/պատահականություն), Ճարտարապետություն։

I (Informed) 'ապրանքը, աջակցությունը, Մարքեթինգը, Ֆինանսները։


15) Իրականացման ճանապարհային քարտեզը

MVP (2-4 շաբաթ)

1. Kafka/Redpanda + երկու քննադատական կացիններ («payments», «auth»)։

2. Flink-ջոբա watermark, dedup և մեկ CEP-2019 (AML կամ RG)։

3. ClickHouse/Pinot վիտրինը 1-5 րոպե, dashbords lag/completeness։

4. Պատահականության ալիքը (webhuki/Jira), հիմնական SLO և ալերտներ։

Aleksanda 2 (4-8 շաբաթ)

Առցանց հարստացումը (Redis/Scylla), Feature Store, ասինխրոն lookups։

Կանոնների կառավարումը որպես կոդ, կանարեկուլներ, A/B

Հոսող DQ-ը, փոխակրիչների տարածումը, DSAR/RTBF ընթացակարգերը։

Բրազիլիա 3 (8-12 շաբաթ)

Multi-active-տարածաշրջանը, replay-սիմուլյատոր «what-if», շեմերի ավտոկալիբրոն։

Ամբողջական Gold-stream վիտրինները (GGR/RG/AML), near-real-time հաշվետվությունները։

Stoimost dashbords, chargeback, DR ուսուցումներ։


16) Օրինակներ (բեկորներ)

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 ֆիլտրն է

java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}

17) Չեկ թուղթ մինչև վաճառելը

  • Registry-ում, back-compat-ը կանաչ են։
  • Ներառված են watermark/allowed lateness, dedup և DLQ-ը։
  • SLO և alerts (lag/late/dup/state size)։
  • Հարստացում քեշերի և թայմաուտների հետ, fallback «unknown»։
  • RBAC/dult-24l կանոնների/մոդելի վրա, բոլոր փոփոխությունները տրամաբանվում են։
  • Կանոնները, վիտրինը և runbook "և/replat։

18) Հաճախակի սխալներ և ինչպես խուսափել դրանցից

Անտեսանելի event-time: Առանց watermarks մետրերը «լողում են»։

Ոչ մի դեդուպա 'կեղծ ալտերտեր և կրկնակի տրիբունաներ։

Տաք բանալիներ 'կուսակցության խաչմերուկը salting/resharding։

Սինխրոն արտաքին API-ը տաք ճանապարհին 'միայն async + kash։

Չկառավարվող արժեքը 'կանխատեսումը, TTL վիճակը, քվոտաները, cost-dashbords։

Սիմուլյատորի բացակայությունը 'առանց «replay» -ի արտանետումները հանգեցնում են ռեգրեսիայի։


19) Գլոսարիա (հակիրճ)

CEP-ը Complex Event Processing-ն է (իրադարձությունների արտոնագրեր)։

Watermark-ը պատուհանների պատրաստման սահմանն է event-time-ով։

Allowed Lateness-ը ուշացած իրադարձությունների լուծումն է։

Stateful Operics-ը պահպանված վիճակի օպերատոր է։

Feature Store-ը համաձայնեցված նշանների սերվինգն է (on.ru/24.ru)։


20) Արդյունքը

Սթրիմինգը և հոսքային վերլուծությունը կառավարվող համակարգ են 'պայմանագրեր, պատուհաններ և watermarks, stateful տրամաբանություն և CEP, հարստացում և իրական-time վիտրինի, SLO-ի և դիտարկման, գաղտնիության և արժեքի վերահսկման տակ։ Նկարագրված պրակտիկային հետևելով ՝ պլատֆորմը ստանում է ռիսկի հուսալի դետեկտորներ, վահանակներ և կերպարներ կանխատեսելի լատենտով և ծախսերով։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։