GH GambleHub

PSP-X latency & loss

(Բաժին ՝ Տեխնոլոգիաներ և ենթակառուցվածքներ)

Live ռեզյումե

Chaos Contineering-ը մի գիտական մեթոդ է, որը վաճառում է, դուք ձևակերպում եք կայունության վարկած, խախտում եք շրջակա միջավայրը վերահսկվող ձևով և ապացուցում, որ օգտագործողի արժեքը (SLO/բիզնես) պահպանվում է։ IGaming-ի համար սրանք վճարումների ստուգումներ են (PSA), խաղերի նախաձեռնումը, եզրակացությունների հերթերը, multregion-ը և PR-ը 'ուշացման, մերժման և «փոթորկի» պայմաններում, մինչև դա տեղի ունենա կենդանի օգտագործողների հետ։

1) Քաոս ինժեներինգի սկզբունքները

1. Steady-state-ից հիպոթեզի։ Ռուսական նորմ 'Availability, p95/p99, TTW, վճարման ծրար։

2. Փոքր blast radius. Փորձարկումը նախ staging/kanara, 1-5 տոկոսը 2019/1-2 օդ/մեկ տարածք։

3. Առաջին հերթին դիտարկումը։ Metriks/logs/treiss + փորձի անվանումները։

4. Guardrails и abort. SLO/բիզնես KPI-ի կոշտ շեմերը ավտոմատ կանգնելու համար։

5. Կրկնություն և ավտոմատիզացիա։ Փորձարկումները որպես կոդ (IaC/GitOps), game-day պլանը։

6. Blameless մշակույթը։ Փորձը ոչ թե մեղավոր գտնելն է, այլ թույլ տեղերի որոնումը։

2) Steady-state-ը և հաջողության մետրերը

TexSLI: p95/p99 API, error-rate, saturation (CPU/IO), queue lag (withdrawals/deposits), latency պրովայդերներ։

Բիզնես-SLI-ը '«attempt success», TTW p95, «game init» հաջողությունը, PBS-ի կոդի ձախողումների մասը։

Հիպոթեզը (օրինակ)

💡 <<5% ռուբլու կորստի և + 200 ms RTT-ի կորստի դեպքում PMS-X կոնցենտրացիան կնվազի <0։ 3 pp, p95 '/deposit' 24250 ms, իսկ TTW-ը կմնա 3,3 րոպե շնորհիվ գետերի, դեգրադացիոն ռեժիմի և խելացի ուղղության"։

3) Փորձարկումների դասարաններ («կոտրում»)

Ցանցը ՝ latency/jiter/packet loss/blackhole, RF-ձախողումներ, MTU-անոմալիաներ։

Ресурсы: CPU throttle, memory pressure/OOM, disk IOPS/space, file-descriptor exhaustion.

Գործընթացները և կայքերը ՝ kill/evict, node failure, zone/region failover։

Կախվածությունը 'PMS-timauts/սխալներ, խաղերի պրովայդերի անհասանելիությունը, CDN/քեշի քայքայումը։

Հերթերը/սթրիմինգը 'Kafka lag-ի աճը, կոնսուումերների դադարը, կուսակցության/առաջնորդի կոտրումը։

Տվյալները/BD 'վերարտադրության ուշացում, ինդեքսների քայքայումը, read-only ռեժիմը։

Ալգորիթմներ/ֆիչեֆլագներ 'ներարկումներ, սխալ եզրեր, kill-switch։

Ճակատ/RUM 'LCP/INP անկում, հաճախորդի ներկեր պիկի մեջ։

System/ML 'ավարտի ծերացումը, մոդելի latency բարձրացումը, tokens/s անկումը, որակի դեգրադացիան։

4) Գործընթացը 'հիպոթեզից մինչև բարելավում

1. Ձևակերպել հիպոթեզը (կոնկրետ SLO/բիզնես KPI + պահպանողական վարքագիծը)։

2. Նախագծել փորձը 'ձախողման տեսակը, տևողությունը, blast radius, guardrails/abert։

3. Պատրաստել դիտարկումը 'dashbords «releae/experiment compare»,։

4. Սկսել IM/TL վերահսկողության տակ, տեղեկացնել on-call/բիզնեսը (եթե ազդում է)։

5. Չափել արդյունքը 'SLO, p95/p99, TTW, ծրար, լագեր, retrai։

6. Ձևավորել action items: limits, timauts, retray ջիթերի, www.ier-eject, PDB/HPA/KEDA, Flow-ի արձագանք։

7. Ավտոմատիզացնել (ներառել game-day/CI ենթակառուցվածքի ստուգման մեջ)։

5) Guardrails-ը և կանգառի չափանիշները

Աբիբը անմիջապես, եթե

SLO fox-burn ակտիվացված է (օրինակ, 14 ռուսական բյուջեն 1 ժամ),

Վճարման հակադարձումը ավելի քան 0 է։ 3 p.p.,

TTW p95> 3 րոպե անընդմեջ 10-15 րոպե,

error-rate > 1. Հինգ տոկոսը աճում է երկու պատուհաններում։

Հաղորդակցություն 'նախապես հաստատված ջրանցք/կարգավիճակը, «կարմիր կոճակը» ChatOps-ում («/experiment abere »)։

6) Փորձերի օրինակներ (Kubernetes/ամպեր)

6. 1 Ցանցային ուշացումները PFC-ի (Կանարյան դոպլան)

Նպատակը 'ստուգել հետքերը/թայմաուտները/միկրոակտիվացումը։

Միգրացիա ՝ + 200 ms RTT և 3 տոկոսը packet loss-ի համար միայն «payments-api» -ի համար։

Կեղծ մանիֆեստ (գաղափարը ցանցային քաոսի համար)

yaml apiVersion: chaos/v1 kind: NetworkChaos metadata: { name: psp-latency-canary }
spec:
selector: { labelSelectors: { app: payments-api, track: canary } }
direction: to target:
selector: { namespace: prod, ipBlocks: ["10. 23. 0. 0/16"]} # addresses pspX egress action: delay delay:
latency: "200ms"
jitter: "50ms"
correlation: "0. 5"
loss:
loss: "3"
correlation: "0. 3"
duration: "10m"
mode: one # minimum blast radius

Ակնկալվող ՝ p95 '/deposit '<250 ms, error-rate <1%, փոխադարձություն www.baseline 240։ 3 p.p.; վատթարանում է PSA-ի շարժիչը։

6. 2 Հանգույցի մերժումը և PDB

Նպատակը 'ստուգել PDB/anti-affinity/HPA-ն։

Միգրացիա: intain/terminate մեկ նոդա '«games-api» ենթատեսակներով։

Սպասումը 'հասանելիության կորուստ չկա, պինդ p99-ը չի դուրս գալիս SLO-ից, autoscaler-ը կրկնօրինակում է, PDB-ն կանխում է «կրկնակի հարվածը»։

6. 3 Kafka lag и KEDA

Նպատակը 'միջոցների դուրսբերման կայունությունը հաղորդագրությունների կուտակման ժամանակ։

Միգրացիա 'սառեցնել վահանակները 5-10 րոպե, ապա միացնել։

Սպասումը 'KEDA-ն ավելացնում է վորկերները, TTW p95-ը մնում է 353 րոպե հետո, չկա կրկնօրինակներ (idempotenty, բանալիներ)։

6. 4 RF-ձախողումը խաղերի պրովայդերի ձախողումը

Նպատակը 'fallback/cashing/retrai։

Միգրացիա: NXDOMAIN/timeout տիրույթի համար 'providera A։ example`.

Սպասումը 'արագ ֆոլբեքը' «providerB», UI-ում 'դեգրադացիոն ռեժիմը և կարգավիճակի դրոշը, «game init success» -99։ 5%.

6. 5 Read-only BD

Նպատակը 'վարքագիծը ձայնագրման կորստի ժամանակ։

Միգրացիա 'կրկնօրինակի փոխակերպումը read-only-ում 10-15 ռուբլիով

Սպասումը 'կոդը ճիշտ կերպով վերամշակում է սխալները, քննադատական երթուղիները սահմանափակ են, հերթերը պահում են գրանցումը, չկա ոչ պաշտոնական/կրկնակի ապամոնտաժում։

7) Ավտոմատիզացիա և GitOps

Փորձարկումները որպես կոդ 'պահպանեք սցենարները/պարամետրերը/guardrails Git-ում, PR-ի միջոցով։

Game-day-ի պլանը '108, սեփականատերերը, մետրերը, abox-պայմանները, հաղորդակցության չեկը։

Grafana-ում ծանոթությունները 'փորձի սկիզբը/ավարտը, դելգը, SLO-ը։

8) Քաոսի ժամանակ դիտելը

Exemplars: p95/p99-ից հատուկ «trace _ id» -ում։

Логи: поля `experiment_id`, `fault_type`, `retry_attempt`, `degrade_mode=true`.

Թրեյսներ ՝ արտաքին մարտահրավերները նշված են «fox»։ injected = dive ', կարելի է տեսնել retrai/timautes։

Dashbords: «SLO քարտեզը», rele.ru/experiment compare, Payments/Game init/Queues։

9) iGaming-ի առանձնահատկությունները

1. Վճարումները և TTW 'PMS թայմաուտները, ֆոլբեքը, կուռքերը։

2. Խաղերի նախաձեռնումը 'ստուդիաների անհասանելիությունը/դանդաղությունը, CDN-ձախողումները։

3. Եզրակացությունների/բոնուսների հերթերը 'lag աճը, վերարտադրումը։

4. Մուլտրեգիոն 'գոտու/ROR, առաջնորդի փոփոխություն, BD կրկնօրինակումը։

5. Պիկի 'ավտո-սկեյլ, rate-limit, circuit-breaker, տաքացնելով։

6. RG/Compli.ru: լոգիստիկայի ճկունությունը ձախողումների ժամանակ, PII-ի բացակայությունը հեռուստատեսությունում։

10) Ձեռնարկության կառավարումը (governae)

Օրացույցը և պատուհանները 'փորձարկումներ պիկային մրցույթներից դուրս, որոնք համագործակցում են բիզնեսի հետ։

Роли: Experiment Lead, Observer (SRE), Business Rep; IM տաք գծի վրա։

Տվյալների քաղաքական գործիչները 'ոչ PII արտեֆակտներում։ WORM-2019 մրցույթի համար։

Իրավաբանական սահմանները 'բացառել SLA-ի խախտող սցենարները առանց համաձայնության։

11) Game-day: սցենարի ձևանմուշ



12) Տիպիկ գտածոներ և գործողություններ

Չափազանց ագրեսիվ retrays տրամադրվում է հարցումների փոթորկի միջոցով, որպեսզի ավելացնենք թայմաուտներ/ջիտթեր/լիմիտներ։
Ոչ www.ier ej.ru-ը «թունավոր» instans-ը փչացնում է p99-ը։
Pread-only-ը կոտրում է www.expand www.migrate www.ract + ficheflay հոսքը։
Սխալ HPA ազդանշանը ավելի ուշ պատրաստվում է անցնել RPS/lag մետրերին։
Kash-ը ընդհանուր տարբերակների համար ռուսական արձագանքները փչացնում են տվյալները ռուսական տարբերակիչ բանալիներ։

13) Քաոս պրակտիկայի հասունության չեկի ցուցակ

1. Steady-state-state-ը և SLO-ը նկարագրված են, dashbords պատրաստ են։
2. Փորձարկումները որպես կոդ, հեղափոխություն/աուդիտ Git-ում։
3. Guardrails/abox ավտոմատացված (Alertmanager/ChatOps)։
4. Դիտարկումը 'exemplars, trace/log prollation, ծանոթություններ։
5. Game-day-ը եռամսյակային է, սցենարները ծածկում են վճարումներ/խաղեր/հերթեր/multregion։
6. Հետպատերազմյան action items-ը սպրինտի պլանում է։ վերահսկողությունը։
7. Ռետրերի/թայմաուտների/circuit-breaker-ի շեմի քաղաքականությունները 2019 թվականին ռեպոյի մեջ։
8. Սեկուրիտին/PII քաղաքականությունը հետևում են, արտեֆակտները առանց զգայուն տվյալների։
9. SLO-ի (rollback/scale/rero.ru) ռեմիդացիաները փորձարկվել են քաոսի միջոցով։
10. Գործընթացի չափումները 'առանց ab.ru, MTTR վարժությունների վրա, դասարանի նվազումը։

14) Anti-patterna

«Կոտրում ենք ամեն ինչ վաճառքում» առանց SLO/guardrails/դիտարկման։
Փորձարկումներ առանց հիպոթեզի և չափելի նպատակների։
Մեծ blast radius-ը առաջին գործարկման մեջ։
Ռետրան առանց թայմաուտների/ջիտերի, կասկադային անկայունություն է։
Քաոսը կանխարգելման փոխարեն 'մենք բուժում ենք ախտանիշները, անտեսում ենք արմատական պատճառները։
RCA/action items բացակայությունը վարժություններից հետո։
Խնջույքների փորձարկումները առանց բիզնեսի։

Արդյունքները

Haos-ingininining-ը կայունության մեթոդական ապացույց է, դուք նախապես վերարտադրում եք իրական ձախողումներ, չափում եք ազդեցությունը SLO-ի և բիզնեսի մետրերի վրա և ամրացնում եք ճարտարապետությունը 'գետերից և circuit-breaker-ից մինչև մուլտիպլիկացիոն նվագախմբեր և դաշտային ռեմիա։ Game-day-ի և guardrails-ի կարգապահության ժամանակ iGaming պլատֆորմը պահպանում է p95/p99, ծրարը և TTW-ը նույնիսկ ամենաթեժ ժամանակահատվածում։
Contact

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

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

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

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

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

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