GH GambleHub

Пайгирии тақсимшуда

(Қисм: Технология ва инфрасохтор)

Хулосаи мухтасар

Нишонаҳои тақсимшуда ба саволи дар куҷо ва чаро вақт дар роҳи дархост тавассути дарвоза, API, навбатҳо, пойгоҳи додаҳо, провайдерҳои беруна (PSP/студияҳои бозӣ) ҷавоб медиҳанд. Open-Telemetry (OT bel) стандарти кушодаи SDK/агент/протокол мебошад, ки роҳҳо, ченакҳо ва гузоришҳоро дар бар мегирад. Дар IGaming, ин воситаи асосӣ барои нигоҳ доштани p95/p99, зуд локализатсия кардани масъалаҳои пардохт ва муайян кардани мушкилот пеш аз мусобиқаҳои баландтарин мебошад.

1) Консепсияҳои OT bel

Пайгирӣ - роҳи пурраи амалиёт (амонат, ставка, бозхонд).
Span - минтақаи корӣ (дастгоҳи HTTP, дархости SQL, занги навбатӣ/провайдер).
Атрибутҳо - калиди арзиш бо тафсилот ('холис. ҳамсолон. ном ',' db. система ',' psp. масир ').
Ҳодисаҳо - ҳодисаҳои фаврӣ (ақибнишинӣ, танаффус, аз даст додани кэш).
Пайвандҳо - пайванд ба пайҳои дигар (барои асин/навбат муҳим аст).
Манбаъ - метамаълумоти раванд: 'хидмат. ном ',' хидмат. версияи ',' ҷойгиркунӣ. муҳити ',' абр. минтақа '.

2) Тарғиби матн

Контексти пайгирии W3C-ро истифода баред:

traceparent: 00-<trace_id>-<span_id>-01 tracestate:...

Ғайр аз он - бағоҷ барои калидҳои бехатар (масалан, 'иҷорагир', 'масир'), PII-ро дар он ҷо ҷойгир накунед.

Контекстро дар куҷо буридан мумкин аст: дарвозаи API → истеҳсолкунандаи дохилии RPC → барои навбат ба истеъмолкунанда → HTTP (PSP/провайдерҳо).

3) Конвенсияҳои семантикӣ (ҳадди аққали ҳатмӣ)

HTTP/RPC: 'http. усули ',' http. масир ',' http. status_code'.
DB/кэш: 'db. система '(' mysql '/' postgresql '/' redis '),' db. изҳорот '(ниқоб),' db. амалиёт '.
Навбатҳо: 'паёмнависӣ. система '(' кафка '/' rabbitmq '),' паёмнависӣ. таъинот ',' паёмнависӣ. амалиёт '(' ирсол '/' раванд ').
Пардохтҳо: 'psp. масир ',' psp. провайдери ',' пардохт. id '(тахаллус),' маблағ ',' асъор '.
Домени IGaming: 'бозӣ. провайдери ',' бозӣ. session_id' (ҳаш), 'бозингар. id_hash'.

Таксономияи ягона → муқоисаи панелҳои панелӣ ва ҷустуҷӯи фаврии сабабҳо.

4) Интихоб: Чӣ гуна набояд дар маълумот ғарқ шавад

Сарвари-асоси

Оддӣ, арзон; барои ҷараёни умумӣ мувофиқ аст.
Минус - шумо метавонед роҳҳои "ҷолиб" -и суст/хатогиро аз даст диҳед.

Думи асоснок (в Коллектор)

Қарор пас аз ба охир расидани фосила қабул карда мешавад: мо танҳо хатогиҳо/сегментҳои суст/муҳимро (VIP/пардохтҳо) сарфа мекунем.
Беҳтарин барои сарбории истеҳсолӣ: хароҷотро бо мундариҷаи баланди иттилоотӣ хеле коҳиш медиҳад.

Гибриди тавсияшуда:
  • Сар: 5-10% барои фарогирии "замина".
  • Думи: 100% хатогӣ + p95 + суст + роҳҳои пардохт/релизҳои канарӣ.

5) Топологияҳои коллектории Open-Telemetry

Агент-sidecar (дар ҳар як гиреҳ/под): қабули маҳаллӣ, буфери ҳадди аққал, содирот ба агрегат.
Дарвоза (кластер): интихоби интихоб, масир, ғанисозӣ, содирот ба Tempo/Jaeger/Zipkin/OTLP.

Мисол: интихоби дум (порчаи YAML)

yaml processors:
tailsampling:
decision_wait: 5s policies:
- name: errors type: status_code status_code:
status_codes: [ ERROR ]
- name: slow_p95 type: latency latency:
threshold_ms: 250
- name: payments type: string_attribute string_attribute:
key: service. name values: [ "payments-api", "payments-worker" ]

6) Таносуб бо ченакҳо ва гузоришҳо

Илова кардани 'trace _ id '/' span _ id' ба ҳар як вуруд.
Нишондиҳандаҳои таъхирро ҳамчун гистограмма нигоҳ доред ва намунаҳоро дар бар гиред - истинод ба намояндаи 'trace _ id' барои "ҷаҳидан" аз p95-boket ба пайи мушаххас.
Нашри эзоҳҳо (Git SHA, версияи диаграмма) - ба монанди рӯйдодҳо/тамғакоғазҳо.

7) Асбобҳо (забонҳо ва авто-агентҳо)

Гузаштан (дастӣ + худкор)

go tp:= sdktrace. NewTracerProvider(
sdktrace. WithBatcher(exporter),
sdktrace. WithResource(resource. NewWithAttributes(
semconv. SchemaURL,
semconv. ServiceName("payments-api"),
)),
)
otel. SetTracerProvider(tp)

ctx, span:= tracer. Start(ctx, "Deposit")
defer span. End()
span. SetAttributes(
attribute. String("psp. route","pspX"),
attribute. String("currency","EUR"),
)

Java

Auto-agent '-javaagent: opentelemetry-javaagent. jar ', config тавассути env (' OTEL _ SERVICE _ NAME ',' OTEL _ EXPORTER _ OTLP _ ENDPOINT ').
Дастур - эзоҳ/асбоби ҷойҳои пиёз (ҳавзҳои JDBC, кэш).

Гиреҳ. js/Python

Асбоби худкор бо плагинҳои SDK + (Express/Fast

Барои навбатҳо - парпечҳои истеҳсолкунанда/истеъмолкунандагон барои гузоштани паёмнависӣ. 'Ва пайвандҳо.

8) Навбатҳо ва асинҳо: фосилаҳои дуруст

Истеҳсолкунанда ('ирсол'): фосила барои фиристодани мавзӯъ/навбат.
Истеъмолкунанда ('раванд'): доираи нави коркарди паём аз пайванд ба доираи истеҳсолкунанда (нигоҳ доштани робитаи сабабӣ бидуни 'trace _ id').
Хусусиятҳо: 'паёмнависӣ. кафка. қисмбандии ',' паёмнависӣ. раббитмқ. routing_key', 'паёмнависӣ. message_id'.
Бо бозгаштҳо - ҳодиса 'retry', ҳисобкунаки кӯшиш.

9) DB/Кэш ва N + 1

Фаъол кардани пайгирии драйвери асоси маълумот, дархостҳои гурӯҳии якхела ба маҷмӯаҳо.
Барои Redis/кэш, атрибутҳо 'кэш мебошанд. хит '/' кэш. пазмон '.
Барои ҷудо кардани фосилаҳо дархостҳои "вазнин" -ро гиред - шумо мебинед, ки дар куҷо p99.

10) Провайдерҳои беруна: PSP/студияҳои бозӣ

Мизоҷони HTTP-ро печонед: 'psp. провайдери ',' psp. масир ',' timeout _ ms ',' кӯшиш '.
Рамзҳо/намудҳои хатогии сабти ном, аммо на PII (рақами корт, нишонаҳо).
Студияҳо/маршрутҳоро бо 'давомнокӣ', 'сатҳи хатогӣ' муқоиса кунед.

11) Frontend ва RUM

OTel Web SDK: 'page _ view', 'resource _ load', 'xhr'.
Пирс 'traceparent' ба қафо барои часпонидани роҳи корбар тавассути пойгоҳи UI → API →.
Сегментатсия аз ҷониби провайдерҳои гео/шабака - тамғакоғазҳои ихтиёрӣ.

12) Бехатарӣ ва PII

Майдонҳоро маска кунед ('db. изҳорот 'таҳрир карда шудааст), hash' player _ id '.
Минтақаҳои маълумот: 'pii = ҳақиқӣ', 'минтақа = EU/TR/LATAM'.
Назорати дастрасӣ ба роҳҳои пардохт (дар асоси нақш).
WORM/Нигоҳдорӣ: давраҳои нигоҳдорӣ барои пайҳои ҳассос, нест кардани сиёсат.

13) Иҷро ва арзиши

Интихоби думҳо аз рӯи сиёсат: "хатогиҳо + пардохтҳои суст + релизҳо".
Паст кардани гистограммаҳои ченакҳо, такрори дафтари хашмгин.
Маҳдудияти кардиналӣ: 'user _ id' -ро ҳамчун нишони метрикӣ нанависед.
Буферҳо/маҷмӯаҳо дар коллектор, фишурдани OTLP.

14) Панели тахтаҳо ва таҳлил

Харитаи хидмат: вобастагии хидматҳо, ранги хатогӣ/ниҳонӣ.
Муқоиса кунед: таҷдиди устувор ва канарӣ (p95, меъёри хатогӣ, пардохтҳо conv).
Нишонаҳои сусти боло: қад-қади масир '/амонат ', қитъаи қад-қади PSP/минтақа.
Қафои навбатӣ: Роҳҳои таъхири истеъмоли амиқ.

15) Намунаҳои конфигуратсияҳои коллекторӣ

Қубурҳо (ченакҳо/роҳҳо/гузоришҳо, порчаҳо)

yaml receivers:
otlp: { protocols: { http: {}, grpc: {} } }

processors:
batch:
memory_limiter:
limit_mib: 1024 spike_limit_mib: 256 attributes/payments:
actions:
- key: "psp. provider"
action: insert value: "pspX"

exporters:
otlp/traces: { endpoint: tempo:4317, tls: { insecure: true } }
otlp/metrics:{ endpoint: prometheus-otlp:4317, tls: { insecure: true } }
otlp/logs:  { endpoint: loki-otlp:4317, tls: { insecure: true } }

service:
pipelines:
traces:
receivers: [ otlp ]
processors: [ memory_limiter, batch, tailsampling ]
exporters: [ otlp/traces ]
metrics:
receivers: [ otlp ]
processors: [ batch ]
exporters: [ otlp/metrics ]
logs:
receivers: [ otlp ]
processors: [ batch ]
exporters: [ otlp/logs ]

16) Китобҳои корӣ (сенарияҳои маъмулӣ)

A) афзоиши p99 дар 'пардохт-api'

1. Кушодани "Пайҳои сусти боло" → ба пойгоҳи додаҳо/PSP дохил мешавад.
2. Агар мушкилоти PSP тарҷумаи масир бошад, имкон медиҳад, ки бозсозӣ/танаффус фаъол карда шавад.
3. 'Withdrawals' (ақибмонӣ) -ро санҷед, истеъмолкунандагонро зиёд кунед.

B) Хатогиҳои пас аз 5xx

1. Филтр аз ҷониби 'service. версия '.
2. Муқоиса кардани устувор/канарӣ; пайдо кардани хӯшаҳо дар 'psp. масир '.
3. Таблиғотро ях кунед, ба ақиб баргардед (нигаред ба Стратегияи озодкунӣ/Rollbacks).

C) Гумонбаршуда N + 1

1. Роҳҳо бо шумораи зиёди DB кӯтоҳ.
2. Ҷамъбаст/шодиро фаъол созед, қабати кэшро илова кунед.

17) Рӯйхати назорати амалисозӣ

1. Даргиронидани OTel SDK ва хусусиятҳои ягонаи захираҳо ('хидмат. ном ',' env ',' минтақа ').
2. Тарғиби контексти W3C тавассути ҳама қабатҳо ва навбатҳо.
3. Маҷмӯи ҳадди аққали хусусиятҳои семантикӣ (HTTP/DB/queue/PSP).
4. Интихоби думҳо: хатогиҳо, p95 +, пардохтҳо, канарӣ.
5. Сабтҳо бо 'trace _ id '/' span _ id', ченакҳо бо намунаҳо.
6. Панели панелҳо: харитаи хидмат, муқоисаи озод, ҷараёни пардохт.
7. Сиёсати PII: ниқоб, минтақаҳо, нақшҳо, нигоҳдорӣ.
8. Санҷишҳо/сарборӣ: таносуб ва пуррагии пайгирии пеш аз қуллаҳоро санҷед.
9. Тавлиди худкори пайвандҳои runbook дар огоҳиҳо.
10. Ҳисоботи арзиши телеметрӣ ва кардиналӣ.

18) Антипаттернҳо

Пайҳо "танҳо дар даромадгоҳ" бидуни пойгоҳи додаҳо/навбатҳо § истифода намешаванд.
Набудани паҳншавӣ дар async → занҷирҳои сабаб ва натиҷа мешикананд.
Интихоби тасодуфии 1% бидуни мантиқи думҳо суст/хато намекунад.
Гузоришҳо бидуни пайгирӣ _ id → ҳеҷ гуна таносуби ниҳоӣ ба охир намерасад.
PII-ҳои хом дар атрибутҳо/гузоришҳо → хатарҳои мутобиқат.
Кардиналӣ "ба шифт" (корбар/сессия ҳамчун тамғакоғазҳои метрӣ) → таркиши арзиш.

Хулоса

Open-Telemetry мушоҳидаҳоро аз маҷмӯи воситаҳои нобаробар ба забони ниҳоӣ табдил медиҳад. Бо паҳнкунии дурусти контекст, семантикаи тозаву озода, интихоби думҳо ва маҷмӯи "ченакҳо ↔ нишонаҳо ↔ гузоришҳо", гурӯҳи IGaming p95/p99-ро таҳти назорат нигоҳ медорад, мушкилотро (DB, навбатҳо, PSP) зуд ҷудо мекунад ва релизҳоро ҳатто дар қуллаҳои ҳаракат озод мекунад.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Telegram
@Gamble_GC
Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.