PSP-X latency & loss
(Бөлүк: Технология жана инфраструктура)
Кыскача резюме
Chaos Engineering - бул өндүрүштүн илимий ыкмасы: сиз туруктуулук жөнүндө гипотезаны түзөсүз, айлана-чөйрөнү көзөмөлгө алуу менен бузуп, колдонуучунун баалуулугу (SLO/бизнес-метрика) сакталып калганын далилдейсиз. iGaming үчүн бул төлөмдөрдү текшерүү (PSP), оюндарды демилгелөө, корутундулардын кезектери, көп региондор жана эң жогорку жүктөөлөр - кечигүү, ийгиликсиздик жана ретрайлардын "бороон" шарттарында - бул тирүү колдонуучулар менен боло электе.
1) башаламандык-инженердик негиздери
1. steady-state чейин гипотеза. Норманы аныктаңыз: Availability, p95/p99, TTW, төлөмдөрдү которуу.
2. Small blast radius. 1-5% traffic/1-2 арткы/бир аймакты/staging биринчи эксперимент.
3. Байкоо биринчи кезекте. Metrics/Logi/Traces + эксперимент түшүндүрмөлөрү.
4. Guardrails и abort. SLO/бизнес-KPI автоматтык токтотуу үчүн катуу босоголор.
5. Кайталануучулук жана автоматташтыруу. Code катары эксперименттер (IaC/GitOps), game-day планы.
6. Blameless маданият. Эксперимент - күнөөлүү адамдарды издөө эмес, алсыз жактарды издөө.
2) Steady-state жана ийгилик метрика
TexSLI: p95/p99 API, error-rate, saturation (CPU/IO), queue lag (withdrawals/deposits), латенси провайдерлер.
Бизнес-SLI: конверсия 'attempt → success', TTW p95, ийгилик 'game init', PSP коддору боюнча мүчүлүштүктөрдүн үлүшү.
3) эксперименттердин класстары ("сындырып")
Тармак: latency/jitter/packet loss/blackhole, DNS-мүчүлүштүктөр, MTU-аномалиялар.
Ресурсы: CPU throttle, memory pressure/OOM, disk IOPS/space, file-descriptor exhaustion.
Процесстер жана аянтчалар: kill/evict такталар, node failure, zone/region failover.
Көз карандылык: PSP-убакыт/каталар, оюн провайдери жеткиликсиз, CDN/кэш деградациясы.
Кезек/агымы: Kafka lag өсүшү, consumers тыныгуу, партия/лидер ажырым.
Маалыматтар/DD: репликация кечигүү, индекстердин бузулушу, read-only режими.
Releases/ficheflags: миграциянын каталары, ката конфиги, kill-switch.
Front/RUM: LCP/INP күзүндө, чокусунда кардар боёк.
Data/ML: улгайып чач, моделдин latency жогорулатуу, Токен/s кулап, сапатынын начарлашы.
4) Процесс: гипотезадан жакшыртууга чейин
1. гипотезаны түзүү (белгилүү бир SLO/бизнес-KPI + күтүлгөн коргоо жүрүм-туруму).
2. эксперимент долбоорлоо: ката түрү, узактыгы, blast radius, guardrails/abort.
3. байкоо даярдоо: дашборддор "release/experiment compare", аннотациялар.
4. IM/TL көзөмөлү астында ишке киргизүү, on-call/бизнес кабарлоо (таасир этсе).
5. Натыйжаны өлчөө: SLO, p95/p99, TTW, конверсия, лагдар, ретра.
6. Түзүү action items: лимиттер, таймауттар, retrains менен Jitter, outlier-ejection, PDB/HPA/KEDA, Flow артка.
7. Автоматташтыруу (reg-топтомун game-day/CI-инфраструктураны текшерүү).
5) Guardrails жана токтотуу критерийлери
Аборт дароо, эгерде:- SLO fast-burn (мисалы, 1 саат үчүн 14 × бюджет),
- төлөмдөрдү которуу ↓ 0 ашуун. 3 п.п.,
- TTW p95> 3 мүнөт катары менен 10-15 мүнөт,
- error-rate > 1. 5% жана эки терезеде өсөт.
- Байланыш: алдын ала бекитилген канал/макам шаблон, ChatOps "кызыл баскычы" ('/experiment abort ').
6) эксперименттер мисалдар (Kubernetes/булут)
6. 1 PSP тармактык кечигүү (Канар Деплой)
Максаты: retrains/убакыт/багытын текшерүү.
Инъекция: + 200 ms RTT жана 3% packet loss үчүн гана 'payments-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 '/deposit '<250 мс, error-rate <1%, конверсия ≥ baseline − 0. 3 п.п.; начарлаганда - PSP маршрутун автоматтык түрдө которуу.
6. 2 Unit жана PDB
Максаты: PDB/anti-affinity/HPA текшерүү.
Injection: таман 'games-api' менен бир бургулоо/терминат.
Күтүү: эч кандай жеткиликтүүлүк жоготуу, жогорку p99 SLO, autoscaler репликаларды алуу, PDB алдын алуу "кош сокку".
6. 3 Kafka lag и KEDA
Максаты: билдирүүлөрдү топтоодо каражаттарды алуу туруктуулугу.
Injection: 5-10 мүнөт үчүн Консумерлер тоңдуруп, андан кийин күйгүзүү.
күтүү: KEDA Workers масштабдуу, TTW p95 соргондон кийин 3 мүнөттөн ≤ калат, эч кандай кайталоо (демпотенттик, ачкычтар).
6. 4 DNS оюн провайдери
Максаты: fallback/кэш/retry.
Инъекция: NXDOMAIN/providerA домени үчүн убакыт. example`.
Күтүү: 'providerB' боюнча тез фолбэк, UI - деградация режими жана статус баннери; 'game init success' ≥ 99. 5%.
6. 5 Read-only БД
Максаты: жазууну жоготууда жүрүм-турум.
Инъекция: 10-15 мүнөттө read-only көчүрмөлөрүн которуу.
Күтүү: код туура каталарды иштеп чыгат, критикалык маршруттар чектелген, кезек арыздарды кармап турат, жоготуулар/кош эсептен чыгаруулар жок.
7) Automation жана GitOps
Code катары эксперименттер: Script/параметрлери/guardrails сактоо Git, PR аркылуу review.
Game-day планы: расписание, ээлери, метрика, аборт шарттары, байланыш чек тизмеси.
Графанадагы аннотациялар: эксперименттин башталышы/аякташы, , акыркы SLO.
8) башаламандык учурунда байкоо
Exemplars: p95/p99 - конкреттүү 'trace _ id'.
Логи: поля `experiment_id`, `fault_type`, `retry_attempt`, `degrade_mode=true`.
Trades: тышкы чалуулар 'fault. injected = true ', сиз retrai/таймауттарды көрө аласыз.
Dashbord: "SLO-карта", release/experiment compare, Payments/Game init/Queues.
9) iGaming өзгөчөлүктөрү: биринчи кезекте текшерүү үчүн эмне
1. Төлөмдөр жана TTW: PSP Таймаут, folback маршруту, ыктымалдуулук.
2. Оюндарды баштоо: жеткиликсиздик/жай студиялар, CDN каталар.
3. Корутундулардын/бонустардын кезектери: лагдын өсүшү, кайра иштетүү.
4. Мультирегион: зонанын бузулушу/РОР, лидерди алмаштыруу, DD репликациясы.
5. Чокулары: авто скейл, rate-limit, circuit-breaker, жылытуу кэш.
6. RG/Compliance: каталар туура логика, телеметрия PII жоктугу.
10) Тобокелдикти тескөө (governance)
Календарь жана терезелер: жогорку турнирлерден тышкары эксперименттер, бизнес менен макулдашуу.
Роли: Experiment Lead, Observer (SRE), Business Rep; IM ишеним телефону.
Маалыматтар саясаты: артефакттарда эч кандай PII жок; аудит үчүн WORM-сактоо.
Юридикалык чек аралар: макулдугусуз SLA сценарийлерин бузууну алып салуу.
11) Game-day: скрипт үлгүсү
12) типтүү табылгалар жана иш-аракеттер
Өтө агрессивдүү Retray → Storm суроолор → Таймауттар/Життер/лимиттер кошуу.
Жок outlier ejection → "уулуу" бийлик p99 бузат → жокко киргизүү.
назик миграциялар → read-only агымын бузат → expand → migrate → contract + ficheflags.
Туура эмес HPA сигналы → кеч сырдалат → RPS/lag метрикасына өтүү.
Cache версиялары үчүн жалпы → артка кайтаруулар маалыматтарды бузат → версиялык ачкычтар.
13) Check-list жетилген хаос практикасы
1. Steady-state жана SLO сүрөттөлгөн, дашборддор даяр.
2. Git бир код, review/аудит катары эксперименттер.
3. Guardrails/аборт автоматташтырылган (Alertmanager/ChatOps).
4. байкоо: exemplars, trace/log correlation, аннотациялар.
5. Оюн-күн чейрек сайын, сценарийлер төлөмдөрдү/оюндарды/кезектерди/көп аймакты камтыйт.
6. Пост-эксперименталдык action items спринт планына кирет; аткарылышын контролдоо.
7. Retray/таймаут/circuit-breaker -репо босого саясаты.
8. Security/PII саясаты сакталат, сезимтал маалыматтар жок экспонаттар.
9. SLO (rollback/scale/reroute) auto-remediation башаламандык менен сыналган.
10. Процесс көрсөткүчтөрү: аборт жок%, MTTR көнүгүүлөр, класстык инциденттерди азайтуу.
14) Анти-үлгүлөрү
SLO/guardrails/байкоо жок "сынган бардык".
эч кандай гипотеза жана өлчөнүүчү максаттар менен эксперименттер.
Big blast radius биринчи учурууда.
Таймаут/Jitter → каскаддык ката каршылык жок Retrains.
Башаламандыктын ордуна алдын алуу: симптомдорду дарылоо, тамыр себептерин четке кагуу.
көнүгүү кийин RCA/action items жок.
бизнес менен макулдашуу жок жогорку сааттарда эксперименттер.
Натыйжалары
Хаос-инженерия - бул туруктуулуктун методикалык далили болуп саналат: Сиз алдын ала чыныгы бузулууларды кайталап, SLO жана бизнес-метрикага таасирин өлчөп, архитектураны бекемдейсиз - ретрадан жана circuit-breakerден көп региондук оркестрге жана авто-ремедиацияга чейин. Үзгүлтүксүз оюн-күнү жана тартип guardrails менен iGaming платформасы p95/p99, конверсия жана TTW эң ысык мезгилдерде да сактайт.