Таъхир ва талафоти PSP-X
(Қисм: Технология ва инфрасохтор)
Хулосаи мухтасар
Chaos Engineering як усули илмии истеҳсолот аст: шумо гипотезаи суботро таҳия мекунед, муҳитро ба таври идорашаванда вайрон мекунед ва исбот мекунед, ки арзиши корбар (SLO/business metrics) нигоҳ дошта мешавад. Барои IGaming, ин чекҳои пардохт (PSP), оғози бозӣ, навбатҳои сурб, бори бисёр минтақа ва қуллаҳо мебошанд - дар шароити таъхирҳо, нокомӣ ва "тӯфони" бозгашт - пеш аз он ки корбарони зинда рух диҳанд.
1) Принсипҳои муҳандисии бетартибӣ
1. Ҳолати устувор ба гипотеза. Меъёрро муайян кунед: Дастрасӣ, p95/p99, TTW, табдили пардохт.
2. Радиуси таркиши хурд. Озмоиш аввал дар саҳна/канария, 1-5% трафик/1-2 пода/як минтақа.
3. Аввал мушоҳида. Нишондиҳандаҳо/гузоришҳо/роҳҳо + эзоҳҳои таҷрибавӣ.
4. Гвардияҳо ва исқоти ҳамл. Ҳадди сахти SLO/бизнес KPI барои хомӯш кардани автоматӣ.
5. Такрор ва автоматизатсия. Таҷрибаҳо ҳамчун рамз (Ia
6. Фарҳанги беайб. Озмоиш ҷустуҷӯи айб нест, балки ҷустуҷӯи камбудиҳо мебошад.
2) Нишондиҳандаҳои устувор ва муваффақият
TexSLI: p95/p99 API, сатҳи хатогӣ, пуррагӣ (CPU/IO), ақибмонии навбат (бозпас гирифтан/амонатҳо), провайдерҳои таъхирнопазир.
Business SLI: табдили 'кӯшиши → муваффақият', TTW p95, муваффақияти 'бозӣ дар дохили', ҳиссаи нокомии PSP аз рӯи код.
3) Синфҳои таҷрибаҳо (чӣ "шикастан")
Шабака: таъхири/ҷиттер/талафоти пакет/сиёҳ, нокомии DNS, аномалияҳои MTU.
Резурсы: дроссели CPU, фишори хотира/OOM, диски IOPS/фазо, хастагии файл-дескриптор.
Равандҳо ва сайтҳо: подкастҳо, нокомии гиреҳ, нокомии минтақа/минтақа.
Вобастагӣ: Танаффус/хатогиҳои PSP, провайдери бозӣ дастнорас, таназзули CDN/кэш.
Навбат/ҷараён: Афзоиши ақибмонии Кафка, таваққуфи истеъмолкунандагон, холигии ҳизб/пешво.
Маълумот/DB: таъхири такрорӣ, таназзули шохис, ҳолати танҳо хондан.
Релизҳо/ficheflags: пазмонҳои муҳоҷират, конфигуратсияҳои хато, kill-switch.
Front/RUM: тарки LCP/INP, фармоишгар дар авҷи худ суқут мекунад.
Маълумот/ML: хусусиятҳои пиршавӣ, афзоиши модели ниҳонӣ, паст шудани нишонаҳо/ҳо, таназзули сифат.
4) Раванд: аз гипотеза то такмил
1. Гипотезаро таҳия кунед (SLO/business KPI + рафтори пешбинишудаи муҳофизат).
2. Тарроҳии таҷриба: навъи нокомӣ, давомнокӣ, радиуси таркиш, посбонҳо/исқоти ҳамл.
3. Мушоҳидаҳоро омода кунед: релиз/таҷриба панелҳои муқоиса, эзоҳҳо.
4. Таҳти назорати IM/TL кор кунед, дар бораи занг/тиҷорат огоҳ кунед (агар таъсир расонад).
5. Натиҷаи андозагирӣ: SLO, p95/p99, TTW, табдилдиҳӣ, ақибмонӣ, бозсозӣ.
6. Ҷузъҳои амалро ташкил диҳед: маҳдудиятҳо, танаффусҳо, бозсозӣ бо ҷиттер, хориҷкунӣ, PDB/HPA/KEDA, ҷараёни бозгашт.
7. Автоматизатсия (ба бастаи бозикунии рӯзона/чекҳои инфрасохтории CI дохил кунед).
5) Меъёрҳои посбонӣ ва таваққуф
Фавран бекор кунед, агар:- SLO зуд сӯзондан (масалан, 14 × буҷа дар як соат),
- Табдили пардохти шумо зиёда аз 0 аст. 3 саҳ.,
- TTW p95> 3 дақиқа дар сафи 10-15 дақиқа,
- хатогӣ-сатҳи> 1. 5% ва дар ду тиреза меафзояд.
- Алоқа: қолаби қаблан тасдиқшудаи канал/ҳолат, "тугмаи сурх" дар Chatops ('/experiment abort ').
6) Намунаҳои таҷрибавӣ (Кубернетес/абр)
6. 1 Таъхири шабака ба PSP (Депрессияи Канарӣ)
Мақсад: санҷиши бозпас/вақт/масир.
Тазриқ: + 200ms RTT ва 3% талафоти пакет танҳо барои 'пардохтҳо-api' → 'pspX'.
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 '/амонат '<250 мс, хатогӣ <1%, табдили ≥ базавӣ − 0. 3 саҳ; агар таназзул ёбад, масири PSP худкори гузариш.
6. 2 Нокомии гиреҳ ва PDB
Мақсад: Санҷиши PDB/зидди наздикӣ/HPA.
Тазриқ: як гиреҳро бо пояҳои 'games-api' холӣ кунед/қатъ кунед.
Интизорӣ: талафи дастрасӣ нест, қуллаи p99 аз SLO берун намеравад, autoscaler нишонаҳоро мегирад, PDB "whammy дугона" -ро пешгирӣ мекунад.
6. 3 Кафка аз КЕДА ақиб мондааст
Мақсад: гирифтани устувори маблағ ҳангоми ҷамъоварии паёмҳо.
Тазриқ: Истеъмолкунандагонро дар давоми 5-10 дақиқа ях кунед, пас фурӯзон кунед.
Интизорӣ: KEDA коргаронро тарозу медиҳад, TTW p95 пас аз барқароркунӣ 3 дақиқа боқӣ мемонад, нусхабардорӣ нест (idempotence, калидҳо).
6. 4 провайдери бозӣ DNS glitch
Мақсад: афтидан/кэшинг/бозсозӣ.
Тазриқ: NXDOMAIN/танаффус барои домени 'provider' A. намуна '.
Интизорӣ: folback зуд дар 'провайдер', дар UI - ҳолати таназзул ва парчами вазъ; 'game init муваффақият' ≥ 99. 5%.
6. 5 Танҳо хондан DB
Мақсад: Рафтори талафотро нависед.
Тазриқ: Гузаришро ба хондан танҳо барои 10-15 дақиқа иваз кунед.
Интизорӣ: код хатогиҳоро дуруст коркард мекунад, хатсайрҳои интиқодӣ маҳдуданд, навбатҳо дархостҳо доранд, талафот/аз ҳисоб баровардани дубора вуҷуд надоранд.
7) Автоматика ва Gitops
Таҷрибаҳо ҳамчун рамз: скриптҳо/параметрҳо/посбонҳоро дар Git нигоҳ доред, тавассути PR баррасӣ кунед.
Нақшаи рӯзи бозӣ: ҷадвал, соҳибон, ченакҳо, шароити исқоти ҳамл, рӯйхати муошират.
Эзоҳҳо дар Графана: оғоз/анҷоми озмоиш, конфигуратсия, ниҳоии SLO.
8) Мушоҳида дар вақти бетартибӣ
Намунаҳо: аз p95/p99 ба мушаххаси 'trace _ id'.
Логи: поля 'experiment _ id', 'fault _ type', 'retry _ trip', 'degrade _ mode = true'.
Нишонаҳо: зангҳои беруна 'хато нишон дода шудаанд. ворид = true ', retras/танаффус намоён аст.
Панели панелҳо: "SLO-корт", муқоиса/таҷриба, Пардохтҳо/Game init/Queues.
9) Хусусиятҳои IGaming: аввал чиро тафтиш кардан лозим аст
1. Пардохтҳо ва TTW: танаффуси PSP, хатсайр, аблаҳӣ.
2. Оғози бозиҳо: дастнорас будан/сустии студияҳо, нокомии CDN.
3. Навбати пешбар/бонус: афзоиши ақиб, коркард.
4. Бисёр минтақаҳо: нокомии минтақа/POP, тағир додани пешво, такрори пойгоҳи додаҳо.
5. Қуллаҳо: миқёси худкор, меъёри маҳдудият, схема, кэшҳои гармкунӣ.
6. RG/Мувофиқат: сабти дуруст дар ҳолати нокомӣ, PII дар телеметрия нест.
10) Идоракунӣ
Тақвим ва тирезаҳо: таҷрибаҳо берун аз мусобиқаҳои баландтарин, ҳамоҳангсозӣ бо тиҷорат.
Роли: Роҳбари таҷриба, нозир (SRE), Business Rep; IM дар хати доимоамалкунанда.
Сиёсати маълумот: PII дар артефактҳо нест; Мағозаҳои WORM барои аудит.
Ҳудуди ҳуқуқӣ: Сенарияҳоеро, ки SLA-ро бидуни мувофиқа вайрон мекунанд, истисно кунед.
11) Рӯзи бозӣ: қолаби скрипт
12) Бозёфтҳо ва амалҳои маъмулӣ
Бозёфтҳои аз ҳад хашмгин → дархостҳои тӯфон → илова кардани танаффус/jitters/маҳдудиятҳо.
Не ejection outlier → мисоли заҳр ғаниматҳои p99 → имкон медиҳад.
Муҳоҷирати нозук → танҳо хондан ҷараёни § васеъшавиро қатъ мекунад → migrate → шартнома + phicheflags.
Сигнали нодурусти HPA § миқёси дер → гузариш ба ченакҳои RPS/ақибмонда хоҳад буд.
Кэш, ки барои версияҳо ва роллингҳо маъмул аст, маълумотро ва калидҳои версияро вайрон мекунад.
13) Рӯйхати санҷиши камолоти бесарусомонӣ
1. Ҳолати устувор ва SLO тавсиф карда шудааст, панели панел омода аст.
2. Таҷрибаҳо ҳамчун рамз, баррасӣ/аудит дар Git.
3. Гвардияҳо/исқоти ҳамл (Alertmanager/Chat
4. Мушоҳида: намунаҳо, таносуби пайгирӣ/сабт, эзоҳҳо.
5. Ҳар семоҳа бозӣ, сенарияҳо пардохтҳо/бозиҳо/навбатҳо/бисёр минтақаро фаро мегиранд.
6. Объектҳои амалиёти пас аз таҷрибавӣ як қисми нақшаи спринт мебошанд; мониторинги фаъолият.
7. Сиёсати ҳадди ақалли бозсозӣ/вақт/танаффус дар конфигуратсияи репо.
8. Сиёсати амният/PII татбиқ карда мешавад, артефактҳо бидуни маълумоти ҳассос.
9. Барқароркунии худкор аз ҷониби SLO (бозгашт/миқёс/reroute) бетартибиҳоро озмоиш кард.
10. Ченакҳои раванд:% бе исқоти ҳамл, MTTR оид ба машқ, кам кардани ҳодисаҳои синфӣ.
14) Анти-намунаҳо
"Шикастани ҳама чиз дар prod" бидуни SLO/guardrail/мушоҳида.
Таҷрибаҳо бидуни фарзия ва ҳадафҳои ченшаванда.
Радиуси таркиши калон дар оғози аввал.
Бозсозӣ бидуни танаффус/ҷиттер → таҳаммулпазирии хатогӣ.
Бетартибӣ ба ҷои пешгирӣ: аломатҳоро табобат кунед, сабабҳои решаро нодида гиред.
Набудани ҷузъҳои RCA/амал пас аз машқ.
Озмоишҳо дар соатҳои авҷи бе тасдиқи тиҷорат.
Хулоса
Муҳандисии бесарусомонӣ як далели методии тобоварӣ аст: шумо камбудиҳои воқеиро пешакӣ таҷдид мекунед, таъсирро ба SLO ва нишондиҳандаҳои тиҷорат чен мекунед ва меъмориро тақвият медиҳед - аз ретрейҳо ва схемаҳо то оркестри минтақавӣ ва барқарорсозии худкор. Бо интизоми мунтазами бозии рӯзона ва посбонҳо, платформаи IGaming p95/p99, табдилдиҳӣ ва TTW-ро ҳатто дар гармтарин давраҳо нигоҳ медорад.