Հեռուստաչափություն և իրադարձությունների հավաքում
1) Նշանակումներ և սկզբունքներ
Նպատակները
Իրադարձությունների միասնական և կանխատեսելի հոսքը վերլուծության, հակաֆրոդի, RG, կոմպլանսի և ML-ի համար։
Ուղու միջոցով (user/session/request/trace) և վերարտադրումը։
PII-ի նվազեցումը և գաղտնիության պահանջներին համապատասխանելը։
Принципы: schema-first, privacy-by-design, idempotency-by-default, observability-by-default, cost-aware.
2) Իրադարձությունների տաքսոնոմիա
Հիբրիդային '"pay.ru. deposit`, `payment. withdrawal`, `payment. chargeback`.
Խաղային '"game. session_start/stop`, `game. bet`, `game. payout`, `bonus. applied`.
Օգտագործողները ՝ "auth. login`, `profile. update`, `kyc. status_changed`, `rg. limit_set`.
Վիրահատական '<api։ request`, `error. exception`, `release. deploy`, `feature. flag_changed`.
Complaens: <aml. alert_opened`, `sanctions. screened`, `dsar. requested`.
Յուրաքանչյուր տեսակ ունի սեփականատեր (domain owner), սխեմա և SLO թարմություն։
3) սխեմաներ և պայմանագրեր
Պարտադիր դաշտերը (նվազագույն)
`event_time` (UTC), `event_type`, `schema_version`, `event_id` (UUID/ULID),
`trace_id`/`span_id`, `request_id`, `user. pseudo_id`, `session_id`,
Օրինակ (JSON)
json
{
"event_id": "01HFY1S93R8X",
"event_time": "2025-11-01T18:45:12. 387Z",
"event_type": "game. bet",
"schema_version": "1. 4. 0",
"user": {"pseudo_id": "p-7a2e", "age_band": "25-34", "country": "EE"},
"session": {"id": "s-2233", "device_id": "d-9af0"},
"game": {"id": "G-BookOfX", "provider": "StudioA", "stake": {"value": 2. 00, "currency": "EUR"}},
"ctx": {"ip": "198. 51. 100. 10", "trace_id": "f4c2...", "request_id": "req-7f91"},
"labels": {"market": "EE", "affiliate": "A-77"}
}
Սխեմաների էվոլյուցիան 'սեմանական տարբերակներ; backward-compatible - ավելացնում ենք nullable դաշտերը; breaking-ը միայն նոր տարբերակում է («/v2 ») կրկնակի ձայնագրման ժամանակահատվածով։
4) Գործիքներ ՝ որտեղ և ինչպես։
4. 1 Հաճախորդ (Web/Mobile/Desktop)
MSK հեռուստացույցները տեղական բուֆերի, batch-ուղարկման, էքսպոնենցիալ ռեակտորների հետ։
Avto-իրադարձություններ 'վիզաներ, տեսահոլովակներ, բլոկների տեսանելիությունը, web-vitals (TTFB, LCP, CLS), JS սխալները։
Ցուցիչները ՝ "device _ id" (կայուն, բայց մասնավոր), "session _ id" (նորարարվում է), "user. pseudo_id`.
«Աղմուկներից» պաշտպանությունը '«event _ id», trottling, client-side sampling։
4. 2 Սերվեր/backend
Լոգգերների/թրեյզերի (OpenTelemetry) ուրվագծերը համապատասխանում են հիբրիդային իրադարձությունների էմիթին։
Պարտադիր «trace _ id» -ը edge/gateway-ից բոլոր downstream ծառայություններում։
Winbox-pattern-ը հիբրիդային իրադարձությունների գործարքային հրապարակման համար։
4. 3 Պրովայդերներ/երրորդ կողմեր
Կոնեկտորները (PFC/KYC/ստուդիա), որոնք նորմալիզացվում են ստանդարտ սխեմաների հետ։ տարբերակիչ ադապտերներ։
Ստորագրություն/payload ամբողջականության ստուգում, պարագծի (ingest audit)։
5) OpenTelemetry (OTel)
Թրեյսներ 'յուրաքանչյուր հարցում ստանում է «trace _ id»; կապում ենք լույսերը/իրադարձությունները '«trace _ id »/« բանաձև _ id» միջոցով։
Լոգի 'մենք օգտագործում ենք OTel Logs/փոխակերպիչներ; Չորեքշաբթի '2019։ name`, `deployment. env`.
Metriks: RPS/latency/error-rate ծառայություններ, բիզնես մետրիկներ (GGR, փոխադարձություն)։
Collector: մեկ կետը 112/բուֆեր/էքսպորտը Kafka/HTTP/գրաֆիկ։ աթոռը։
6) Բաղադրիչները և հարաբերակցությունը
«event _ id» -ը եզակիությունն ու գաղափարախոսությունն է։
`user. pseudo _ id "կայուն կեղծանունացում է (mapping առանձին և սահմանափակ)։
«session _ id», «request _ id», «trace _ id», «device _ id» - պարտադիր է վերլուծության համար։
ID-ի համաձայնությունը API-դարպասի և SDK-ի մակարդակում։
7) Սերմնացանը և ծավալի վերահսկումը
Կանոնները ՝ per-event-type, per-market, դինամիկ (հարմարվողական) բեռի վրա։
Ճշգրտորեն նկարահանված իրադարձությունները 'երկրորդական/համակցված/միջադեպերը, չեն սերմնավորվում։
Վերլուծական իրադարձությունները '10-50 տոկոսը, որոնք ուղղում են կշիռները վիտրիններում։
Server-side downsampling: Ենթադրենք high-frequency մետրը։
8) Գաղտնիությունը և կոմպլենսը
Microsoft PII: PAN/IBAN/email; IP wwww.go-me/ASN ingest-ում։
Ռեգիոնալացում 'ուղարկեք տարածաշրջանային ingest-endpoints (EFC/UK/RF)։
DSAR/RTBF 'պրոյեկտների ընտրովի թաքցնելու աջակցություն։ իրավական գործողությունների ամսագիր։
Պահեստավորման քաղաքականությունները 'ժամանակները տիպով (վերլուծությունը կարճ է, կարգավորող ավելի երկար); Legal Hold.
9) Տեղափոխություն և բուֆերիզացիա
Հաճախորդը մեջբերում է Edge: HTTPS (HTTP/2/3), «POST/telemetry/batch» (մինչև 100 իրադարձություն)։
Edge no Shina: Kafka/Redpanda կուսակցության հետ։ pseudo_id`/`tenant_id`.
Մոսկվա: JSON (ingest), Avro/Delobuf (անվադողերում), Parquet (lake)։
Տե՛ ս ՝ jitter, DLQ, poison-pill մեկուսացում։
Batch (պարզեցված)։
json
{
"sdk": {"name":"igsdk-js","version":"2. 7. 1"},
"sent_at": "2025-11-01T18:45:12. 500Z",
"events": [ {... }, {... } ]
}
10) Մոսկվան և գաղափարախոսությունը
Client-generated 'event _ id' + սերվերային dedup '(event _ id, source) "։
Windobox-ը ծառայությունների վրա, Exactly-Once-սեմանտիկան հոսքերում (keyed state + deduae)։
Ստեղնաշարի ներսում կարգուկանոնը '«user/session» խմբակցությունն է։
Ժամանակի վերահսկումը 'NTP/PTP, թույլատրելի դրեյֆ (օրինակ ՝ 200 մզ), «received _ at» սերվերի վրա։
11) Հեռուստատեսության որակը (TQ) և SLO
Completeness: ≥ 99. Կրիտիկական տեսակների իրադարձությունների հինգ տոկոսը T.
Freshness: p95 ձգձգումը դեպի Silver 3515 ռուբլի
Eurectness: Walider սխեմաներ 499։ 9%, drop-rate < 0. 1%.
Trace coverage: Հարցումների մասնաբաժինը 'trace _ id' 359%։
Cost/GB: Ռուսական բյուջեն ingest/պահեստավորման վրա։
12) Դիտողությունն ու տաշբորդը
Նվազագույն տեսիլքները
Lag ingest (p50/p95) աղբյուրներով և տարածաշրջաններով։
Completeness-ը իրադարձությունների և շուկաների տեսակների վրա։
Սխեմաների/oversized-payloads։
MSK տարբերակների քարտեզը և հնացած հաճախորդների տոկոսը։
Web-vitals-ի հարաբերակցությունը հակադարձում/ձախողում է։
13) Հաճախորդների SDK 'պահանջներ
Թեթև footprint, ռուսական-բուֆեր, հետաձգված նախաձեռնություն։
Express: sampling, max batch size, max queue age, privacy-նորաձևություն (108-PII)։
Պաշտպանություն ՝ ստորագրություն 2019/anti-tamper, կոդավորման։
Նորարարություն ՝ feature դրոշներ աղմկոտ իրադարձությունների համար։
14) Edge շերտը և պաշտպանությունը
Rate limit, WAF, schema validation, ագրեսիա (gzip/2019)։
Token bucket հաճախորդի վրա; anti replay («request _ id», TTL)։
IP և UA-ի հեռացումը բացատրում է նորմալացում/հարստացում «հում» payload-ից։
15) Ինտեգրումը տվյալների փոխակրիչի հետ
Bronze: անդառնալի ավելացված պանելային payload (ֆորուլֆիկայի համար)։
Silver: նորմալացված սեղաններ 'պապուպով/հարստացմամբ։
Gold: վիտրիններ BI/AML/RG/ապրանքի համար։
Լինեջը իրադարձությունների և զեկույցների միջև։ փոխակերպման տարբերակները։
16) Հաճախորդի որակի վերլուծությունը
«Հանգիստ հաճախորդների» գործակիցը (N ժամվա ընթացքում իրադարձություններ չկան)։
Անոմալիա «փոթորիկ» (www.s duplicate/burst)։
«Հնացած PPK» մասնաբաժինը տարբերակներով և պլատֆորմներով։
17) Գործընթացներ և RACI
R: Windows Platform (ingest/shin/validators), App Teams (MSK գործիք)։
A: Head of Data/Architecture.
C: Compliance/DPO (PII/retention), MSE (SLO/պատահականություն)։
I: BI/Մարքեթինգ/Ռիսկ/Ապրանք։
18) Իրականացման ճանապարհային քարտեզը
MVP (2-4 շաբաթ)
1. V1 + JSON-ի իրադարձությունների տաքսոնոմիա 6-8 տեսակի համար։
2. SDK (Web/Android/iOS) с batch и sampling; Edge `/telemetry/batch`.
3. Kafka + Bultze շերտը; հիմնական վաիդատորները և դեդուպը։
4. Dashbord ingest lag/completeness, alerts drop/vaidator։
Aleksanda 2 (4-8 շաբաթ)
OTel Collector, թրեյս հարաբերակցություն; Silver-նորմալացում և DQ կանոնները։
Տարածաշրջանային էնդպոինտները (EFC/UK), privacy-նորաձևությունները, DSAR/RTBF ընթացակարգերը։
MSK տարբերակների քարտեզը, auto-rollout-ը պատրաստված է օղակների վրա։
Բրազիլիա 3 (8-12 շաբաթ)
Exactly-Once հոսքերում, Feature Store-ը, հակաֆրոդ առցանց ֆիդները։
Rule-as-Code-ը սխեմաների և վալիդատորների, սիմուլյացիոն փոփոխությունների համար (impact anportsis)։
Արժեքի օպտիմիզացումը 'adaptive sampling, Z-order/կլաստերիզացիա lake-ում։
19) Չեկի թուղթը նախքան վերանորոգումը
- Լրացված են սխեմայի պարտադիր դաշտերը և ճիշտ տեսակները։
- Գոյություն ունեն «trace _ id »/« request _ id »/« session _ id»։
- MSK աջակցում է batch, retry, sampling։
- Edge-ը առաջնորդում է սխեման և սահմանափակում է payload չափը։
- Ներառում է ֆիլտրի գաղտնիությունը և զգայուն դաշտերի խառնուրդը։
- SLO/alerta և dashbords։
- Ֆորումը առյուծների համար (իրադարձության օրինակ, owner, SLA)։
20) Հաճախակի սխալներ և ինչպես խուսափել դրանցից
Հում իրադարձությունները առանց սխեմաների 'մուտքագրեք registry և CI-valivation։
Ոչ մի գաղափար չկա 'պահանջեք «event _ id» և պահեք դեդուպի պատուհանները։
PII-ի խառնուրդը և վերլուծաբանները 'առանձնացրեք mapings, դիմեք դաշտերը։
Թրեյսինգի բացակայությունը 'տեղադրեք' trace _ id 'gateway-ի միջոցով ռուսական իրադարձությունների ծառայություններն են։
Չկառավարվող ծավալները 'օգտագործեք sampling/trrrottling և budget քվոտաներ։
Համաշխարհային endpoint առանց տարածաշրջանների 'օգտագործեք ռեգիոնալիզացիան և ռուսական resencidy։
21) Գլոսարիա (հակիրճ)
OpenTelemetry (OTel) բաց կոդն է treiss/metric/logs համար։
Winbox-ը հիբրիդային իրադարձությունների գործարքային հրապարակումն է։
DLQ-ը «բիթային» հաղորդագրությունների հերթն է։
Sampling-ը իրադարձությունների մի մասի ընտրությունն է, որպեսզի նվազեցնի ծավալը։
Residency-ը ճիշտ իրավասության տվյալների պահպանումն է։
22) Արդյունքը
Լավ նախագծված հեռաչափը պայմանագրեր է, ոչ միայն «լոգարաններ ուղարկելը» 'խիստ սխեմաներ, կոդավորիչներ, լռելյայն գաղտնիությունը, հուսալի տրանսպորտը, դիտարկումը և տնտեսական արժեքը։ Այս հոդվածը հետևելով ՝ դուք կստանաք իրադարձությունների կայուն հոսք, որը պատրաստ է վերլուծության, հաճույքի և մեքենայական ուսուցման համար կանխատեսելի SLO-ի հետ։