GH GambleHub

Пайҳои тақсимшуда

Пайҳои тақсимшуда

1) Чаро ва он чӣ аст

Пайгирии тақсимшуда як роҳи пайваст кардани амалиётҳо дар тӯли тамоми роҳи дархост аст: пеши → дарвозаи API → microservices → пойгоҳи додаҳо/кэш → брокерҳо → jabs/қубурҳо.
Натиҷа пайгирӣ аз фосила (фосила) мебошад, ки дар он ҳар як қисм кори ҷузъро бо атрибутҳо, рӯйдодҳо ва вазъ сабт мекунад. Ин RCA-ро суръат мебахшад, SLO-ро нигоҳ медорад ва MTTR-ро коҳиш медиҳад.

Ҳадафҳои асосӣ:
  • Намоёнии роҳи муҳим ва мушкилот.
  • Таносуби аломатҳо (ченакҳо) бо сабабҳо (паҳншавӣ) ва тафсилот (гузоришҳо).
  • Таҳлили ретрейҳо, навбатҳо, DLQ, мухлиси ашаддӣ, "арраҳо" -и дермонӣ.

2) Модели додаҳои пайгирӣ

Пайгирӣ - графикаи занг бо 'trace _ id'.
Спан - операция: 'ном', 'намуди' (SERVER/CLIENT/PRODUCTER/CONSUMER/INDERAL), 'оғоз/анҷом', 'статус', 'атрибутҳо', 'ҳодисаҳо', 'пайвандҳо []'.
Атрибутҳо - калиди арзиш (масир, db. система, паёмнависӣ. система, абр. минтақа ва ғайра).
Ҳодисаҳо - барчаспҳои фаврӣ дар дохили фосила (масалан, 'retry', 'cache _ miss').
Истинодҳои Span - робитаҳо берун аз "волидайн-кӯдак" (батчи, ретрай, фан-дар/берун).
Манбаъ - метамаълумоти раванд/хизматрасонӣ ('хидмат. ном ', версия, муҳит).

3) Контекст ва таҳаммулпазирӣ

3. 1 контексти пайгирии W3C

Унвонҳо:
  • 'traceparent': 'версия-traceid-spanid-парчамҳо' (парчамҳо намунаҳоро дар бар мегиранд).
  • 'tracestate': ҳолати махсуси фурӯшанда (ҳадди аққал).
  • Бағоҷ - калидҳои контексти тиҷорат (маҳдуд, PII/сирри маҳдуд).

3. 2 Контексти партофтан

HTTP: 'traceparent '/' tracestate'; GRPC: метамаълумот; Веб-Сокет: ҳангоми такмил ва дар паёмҳо;

Паёмҳо: дар сарлавҳаҳо (Kafka/NATS/RabbitMQ) - контексти аслиро бо Истеҳсолкунанда ва интиқол бо CONSUMER захира кунед.
Асосҳо: контекстро "иҷро накунед" - мо сифатҳоро ба фосила сабт мекунем (дархост, сатр, db. система), аммо на арзишҳо.

4) Интихоб: Чӣ гуна набояд вайрон шавад

Интихоби сар: эҳтимолият/тибқи қоидаҳо (масир, иҷорагир, нуқтаи ниҳоӣ).
Интихоби думҳо (дар коллектор): роҳҳои "ҷолиб" -ро захира кунед - хатогиҳо, p95/p99, роҳҳои нодир.
Намунаҳо: Нишондиҳандаҳои гистограмма истинодҳоро ба 'trace _ id' -и мушаххас нигоҳ медоранд.
Тавсия: якҷоя - қоидаҳои 5-20% + думи 100% барои 5xx/timeout/p99.

5) Атрибутҳо ва таксономия (ҳадди аққал талаб карда мешавад)

Умумӣ:
  • 'service. ном ',' хидмат. версияи ',' ҷойгиркунӣ. муҳити ',' абр. минтақа ',' http. масир ',' http. усули ',' http. status_code', 'db. система ',' db. изҳорот '(кӯтоҳ/бидуни маълумот),' паёмнависӣ. системаи ',' паёмнависӣ. амалиёт ',' ҳамсолон. хидмат ',' холис. ҳамсолон. ном ',' иҷорагир. id ',' дархост. ид '.

Тамғакоғазҳои тиҷоратӣ: тозаву озода, PII-ройгон. Мисол: 'фармоиш. сегменти ',' нақша. сатҳ '.

6) Скриптҳои асинхронӣ, навбатҳо ва маҷмӯаҳо

ИСТЕҲСОЛКУНАНДА → ИСТЕЪМОЛКУНАНДА: эҷод кардани истеҳсолкунандаи фосила бо контекст; дар паём - сарлавҳаҳо (traceparent, бағоҷ). CONSUMER SERVER/CONSUMER-span-ро аз пайванд ба PRODUCER оғоз мекунад (агар иерархияи қатъӣ вуҷуд надошта бошад).
Фан-берун: як вуруд - бисёр натиҷаҳо → паҳншавии кӯдакон ё пайвандҳо.
Гурӯҳ: CONSUMER таркиши паёмҳои N → як фосиларо бо 'events' барои ҳар як паём ё 'links' барои контекстҳои алоҳидаи N мехонад.
DLQ: span 'messaging алоҳида. dlq. нашр кунед 'с сабаби ҳисоб.
Retrai: 'чорабинӣ: retry' + 'retry. ҳисоб 'атрибут; беҳтараш як кӯдаки нав кӯшиш кунад.

7) Ҳамгироӣ бо гузоришҳо ва ченакҳо

Мо гузоришҳои JSON-ро бо 'trace _ id '/' span _ id' → аз фосилае, ки мо ба гузоришҳо тавассути клик меравем, менависем.
Андозагирии RED/USE дорои намунаҳои → аз қуллаҳои p99, ки мо ба "бад" меравем.
Нишонаҳо тавассути рӯйдодҳо сигналҳои техникӣ (хатогиҳои вобастагӣ) ва сигналҳои тиҷорӣ (табдилдиҳӣ) тавлид мекунанд.

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

Интихоби чорабинӣ ва дротлинг.
Кам кардани сифатҳо ('user _ id '/' session _ id' as label!).
Фишурдасозӣ/қассобӣ аз ҷониби содиркунанда; ҳудуди мӯҳлати содирот.
Нигоҳдорӣ: 1-7 рӯз гарм, пас - воҳидҳо/танҳо роҳҳои "мушкилот".
Категорияҳои хароҷот: коллекторҳо, индексатсияҳо, нигаҳдорӣ, egress.

9) Амният ва махфият

Дар транзит: TLS 1. 3/mTLS kollektor↔agenty; Дар истироҳат: рамзгузорӣ, калидҳои хусусӣ (нигаред ба "Рамзгузорӣ дар транзит/дар истироҳат").
PII ва асрори: дар атрибутҳо/рӯйдодҳо нанависед; токенизатсия/ниқоб ба истеҳсолкунанда.
Иҷораи бисёр: 'иҷорагир. id 'ҳамчун нишонаи манбаъ ва ҷудокунии фосилаҳо, сиёсати хониш; дастрасии аудиторӣ (нигаред ба гузоришҳои аудиторӣ ва тағирнопазир).

10) Схемаҳои амалисозӣ (истинод)

10. 1 Open-Telemetry SDK (псевдокод)

python from opentelemetry import trace from opentelemetry. sdk. trace import TracerProvider from opentelemetry. sdk. resources import Resource from opentelemetry. sdk. trace. export import BatchSpanProcessor from opentelemetry. exporter. otlp. proto. grpc. trace_exporter import OTLPSpanExporter

provider = TracerProvider(resource=Resource. create({
"service. name":"checkout","service. version":"1. 12. 0","deployment. environment":"prod"
}))
provider. add_span_processor(BatchSpanProcessor(OTLPSpanExporter(endpoint="otel-collector:4317", insecure=True)))
trace. set_tracer_provider(provider)
tr = trace. get_tracer("checkout")

with tr. start_as_current_span("POST /pay", attributes={
"http. route":"/pay","http. method":"POST","tenant. id":"t-42"
}):
business logic, external API call and pass DB

10. 2 OTEel Collector - интихоби дум (порча)

yaml processors:
tailsampling:
decision_wait: 2s policies:
- type: status_code status_codes: [ERROR]
- type: latency threshold_ms: 900
- type: probabilistic sampling_percentage: 10 exporters:
otlphttp: { endpoint: http://trace-backend:4318 }
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch, tailsampling]
exporters: [otlphttp]

10. 3 Кафка - Интиқоли матн (Консепсия)

ИСТЕҲСОЛКУНАНДА: сарлавҳаҳои 'traceparent', 'бағоҷ' илова кунед.
ИСТЕЪМОЛКУНАНДА: агар паём ҷараёни навро оғоз кунад - SERVER/CONSUMER-и нав аз пайванд ба контекст аз сарлавҳаҳо.

11) Маълумот/ETL i ML

Барои қубурҳои партия: дар партия/қисм бо 'dataset. урн ',' давида. id ',' сатрҳо. дар/берун ',' тару тоза. ақибмонда '.
Барои ML: доираи омӯзиш/хулоса, версияи модел, ниҳонӣ, мағозаи хусусият.
Истинод ба Lineage: 'иҷро кунед. id 'i' маҷмӯаи маълумот. urn 'allow шумо бояд аз пайгирӣ ба графикаи пайдоиши маълумот гузаред.

12) Платформаи Trace SLO

Воридшавӣ: ≥ 99. 9%

Таъхир ба индексатсия: ≤ 60 s p95

Фарогирии намуна: ≥ 5-10% хатсайрҳои асосӣ

100% захира кардани роҳҳо бо ҳолати ХАТО ва бо таъхир> ҳадди мувофиқи феҳристи "роҳҳои интиқодӣ"

Огоҳии платформа: афзоиши қатраҳо, таъхири содирот, ақибмонии индексатсия, аз ҳад зиёд гарм кардани кардинал.

13) Санҷиш ва санҷиш

Шартномаи пайгирӣ дар CI: мавҷудияти фосила дар нуқтаҳои ниҳоӣ, хусусиятҳои ҳатмӣ, дурусти 'traceparent' тавассути дарвоза/прокси парвоз мекунад.
Намунаҳои синтетикӣ/ром: роҳҳоро аз берун ҷамъ кунед.
Хаос/ҳодисаҳо: хомӯш кардани вобастагӣ, санҷидани он, ки интихобкунандаи дум хатогиҳоро "мегирад".
Дуд дар фурӯш: пас аз раҳоӣ - "ягон фосила вуҷуд дорад" ва намуна → пайгирӣ.

14) Рӯйхати санҷишҳо

Пеш аз фурӯш

  • W3C Trace Context дар ҳама ҷо партофта мешавад; барои паёмҳо - сарлавҳаҳо.
  • Интихоби асосии сар фаъол аст; қоидаҳои думи барои 5xx/p99 танзим карда шудаанд.
  • Хусусиятҳои ҳатмӣ масир, усул, мақом, хидмат мебошанд. версия, иҷорагир. ид.
  • Гузоришҳои JSON бо 'trace _ id '/' span _ id', ченакҳо бо намунаҳо.
  • санитаризаторҳои PII; Рамзгузорӣ дар сиёсати дастрасӣ/истироҳат.
  • Панели панелҳо: "роҳи интиқодӣ", "хатогиҳои вобастагӣ", "ретрас/танаффус".

Амалиёт

  • Баррасии ҳармоҳаи кардиналии сифатҳо; квотаҳо.
  • Танзими интихоби думи SLO (садои камтар, ҳама "гарм" - дар намуна).
  • Омӯзиши RCA-ҳо бо метрикаи гузариш → намуна → пайгирӣ → гузоришҳо.
  • Санҷиши сарпӯшҳо барои навбатҳо, DLQ, ҷойҳои кории ETL.

15) Дафтарчаи 'и

RCA: афзоиши p99 аз/маош

1. Панели RED-ро кушоед; аз bin p99 идома намуна барои пайгирӣ.
2. Пайдо кардани "танг" CLIENT-span (масалан, 'дарвоза. занг занед '), санҷиш. ҳисоб кунед ', танаффус.
3. Версияҳои/вобастагии хидматҳоро муқоиса кунед, минтақа/минтақа.
4. Деградатсияро фаъол созед (вокуниши кэш/маҳдудияти RPS), соҳибони вобастагиро огоҳ кунед.
5. Пас аз ислоҳ - RCA ва чиптаҳои оптимизатсия.

Афзоиши DLQ

1. Филтри пайгирӣ аз ҷониби 'messaging. dlq. нашр кунед '.
2. Сабабҳо (рӯйдодҳо) -ро санҷед, бо озодкунӣ мувофиқат кунед.
3. Коркарди худро оғоз кунед, муваққатан вақти истеъмолкунандаро зиёд кунед, соҳибони поёнобро огоҳ кунед.

16) Хатогиҳои зуд-зуд

Пешгӯии контекст тавассути дарвозаҳо/брокерҳо вуҷуд надорад. Ҳал: миёнаравӣ/интерсепторҳо, китобхонаҳои ягона.
Ҳама роҳҳо 100%. Гарон ва бефоида - аз намунаҳои дум истифода баред.
Сабтҳо бе 'trace _ id'. Коррелятсия → MTTR = гум шудааст.
PII дар сифатҳо. Маска/токенизатсия; танҳо контексти техникиро нигоҳ доред.
Ҷабҳаҳои пасзаминаи "хомӯш". Илова кардани фосилаҳо ба партия/қисмбандӣ ва 'рун. ид '.
Номгузории номувофиқатӣ. Луғати фосилаҳо ва атрибутҳоро ворид кунед.

17) FAQ

Савол: Оё интихоби сар ё дум беҳтар аст?
A: Омезиш. Сар қабати асосиро медиҳад, дум нигоҳ доштани аномалия/хатогиҳоро кафолат медиҳад.

Савол: Чӣ гуна ман аз Кафка бе иерархияи қатъӣ пайгирӣ мекунам?
A: Истифодаи пайвандҳои фосилавӣ байни PRODUCT ва CONSUMER; матн - дар сарлавҳаҳо.

Савол: Бо SQL ҳассос чӣ бояд кард?
A: 'db. изҳорот 'кӯтоҳ/муқаррарӣ (ҳеҷ арзиш) ё' db. амалиёт '+ андоза/вақт.

Савол: Шумо бо нишондиҳандаҳои тиҷорат чӣ гуна робита доред?
Ҷ: Хусусиятҳои доменро бидуни PII (нақша/сегмент) илова кунед, рӯйдодҳои "марҳилаҳои корӣ" -ро дар тӯли давра истифода баред ва аз ченакҳои табдили ба намуна гузаред.

Маводҳои марбута:
  • "Мушоҳидаҳо: гузоришҳо, ченакҳо, пайҳо"
  • "Гузоришҳои аудитӣ ва тағйирнопазир"
  • "Дар транзит/ҳангоми рамзгузорӣ"
  • "Пайдоиши маълумот (насл)"
  • "Махфият аз рӯи тарроҳӣ (GDPR)"
  • "Идоракунии махфӣ"
Contact

Тамос гиред

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

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

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

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

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