Վիրահատություններ և Վերահսկիչ Կանխում
Ստուգման կանխումը
1) Ինչո՞ ւ է դա անհրաժեշտ
Դեպքի ամենալավ արձագանքը նրա բացակայությունն է։ IGaming/finteach-ի համար յուրաքանչյուր րոպեն պարզ է 'կորցրած տոկոսադրույքներ/ավանդներ, տուգանքներ պրովայդերներից, հեղինակավոր ռիսկերից։ Համակարգային կանխարգելումը նվազեցնում է Change Failure Rate-ը, կայունացնում է SLO-ը և ազատում է թիմերի ժամանակը զարգացման համար, ոչ թե հրդեհների մարումը։
Նպատակները
Նվազեցնելու հավանականությունը կրիտիկական ճանապարհների վրա (դեպոզիտ, դրույքաչափը, խաղի մեկնարկը, եզրակացությունը)։
Ընդհատել քայքայումը մինչև SLO հարվածը և դրամապանակը։
Սահմանափակել մերժման շառավղը (blast radius) և արագացնել վերականգնումը։
2) Կանխարգելման հիմնական սկզբունքները
1. SLO-first և error budget: փոփոխությունները չեն արտադրվում, եթե ռիսկի են ենթարկում SLO-ն և այրում բյուջեն։
2. Contence in depth: պաշտպանության շերտերը 'տվյալների և եզրերի սխեմաներից մինչև ցանցային քաղաքական և ֆիչեֆլագներ։
3. Design for failure 'breakers, timauts, retray ջիթերի, գաղափարախոսության, քայքայման հետ։
4. Small & reversible changes: Փոքրիկ ռետենտներ + արագ արձագանք (feature flags/canarake)։
5. Observability by design: metrics/logs/treiss յուրաքանչյուր կրիտիկական մրցույթի և կապի համար։
3) Ռիսկերի և քննադատական ճանապարհների քարտեզը
Կազմեք «ցավի քարտեզը» օրինագծերով ՝ Payments, Bets, Games, KYC, Promotions, Jackpots, Content։
Յուրաքանչյուր ճանապարհի համար մենք արձանագրում ենք
Բիզնես մետրիկները (փոխադարձություն, GGR, միջին չեկը)։
Տեխնոլոգիական SLO (latency p95/p99, uptime, success rate)։
Կախվածություն (ներքին/արտաքին), լիմիտներ/քվոտաներ։
«Safe mode» վարքագիծը (որը մենք անջատում ենք/պարզեցնում ենք)։
Runbook սեփականատեր։
4) Guardrails (պաշտպանիչ խոչընդոտներ)
Թայմաուտները և բրեյքերները, որոնք զանգահարում են Թայմաութը, ավելի կարճ են, քան ներքին գումարները։ բրեյքերը բացվում է սխալների/լատենտիզմի աճի ժամանակ։
Bulkhead-մեկուսացում 'առանձին pubes/worker dounstrims։
Rate limit & backpressure 'պաշտպանություն լավներից և retray-փոթորիկներից։
Ֆիչեֆլագները '«նվազագույն ռեժիմը»' թեթև պատասխաններ, քեշի ռեպլայի, ծանր ֆիչի անջատումը։
Multi-vendor և failover 'այլընտրանքային PMS/KYC, երթուղիների տեղափոխումը։
Դելիգների վալիդացիան 'սխեմաներ/liners/քաղաքականություն ֆիգների և սահմանների անվտանգ փոփոխության համար։
5) Փոփոխությունների կառավարումը (Change Express)
Pre-releensgates: թեստեր, անվտանգություն, CDC (consumer-driven driven dracium), սխեմաների համատեղելիություն։
Կանարյան թողարկումը + ավտոմեքենաների խաղացողները ՝ 1 տոկոսը 10 տոկոսն էր, 100 տոկոսը։ p99/error rate/այրման բյուջեի աճի ժամանակ։
Feature flags: ակնթարթային արձագանք/վարքի փոխակերպում առանց ապշեցուցիչ։
Releultcalendar 'խուսափում ենք սպորտի/կիսագնդերի պինդ պատուհաններից և պրովայդերների maintenae-ից։
Post-deploy-deploy-ks: Ավտոմեքենաներ, համեմատություն «մինչև/հետո» փոխաբերության հետ։
6) Փորձարկում որպես կանխարգելիչ միջոց
Unit/wwww.ract/integration: OpenAPI/AsyncAPI պայմանագրերը, CDC-ը պրովայդերի/մոկի դեմ։
Load & stress: Մասնագիտացված է www.im-time-ի համար։ փորձարկումներ կոննեկտների/IOPS/քվոտաների սահմանների վրա։
Soak/long-haul 'ռեսուրսների արտահոսք, ժամացույցի/օրվա հորիզոնում ուշացումների աճ։
Chaos/game-days: Brocker/PSA/KYC-ի անկումը, տարածաշրջանի բացը, «դանդաղ պրովայդերը»։
Massaster Recovery Corpills-ը 'ռուսական տարածաշրջանների վերապատրաստման և BD-ի վերականգնումը։
7) Վաղ քայքայման հայտնաբերումը
Capacity-aler.ru: headro.ru, gay, BD կոնեկտներ, eviction քեշներում։
SLO-burn-rate: ազդանշան բյուջեի «այրման» վտանգավոր արագությամբ։
Հարմարվողական շեմեր 'սեզոնային/ամենօրյա ձևանմուշներ, որպեսզի նվազեցնեն կեղծ։
Բաղադրիչները ՝ «lag no + HPA at max + open circuit» մեծ ռիսկ է։
Vendor health: քվոտաներ/թայմաուտներ/սխալներ յուրաքանչյուր պրովայդերի համար + զանգերի արժեքը։
8) Արտաքին պրովայդերների հետ աշխատելը
OLA/SLA www.SLO 'համաձայնագրերի կապումը մեր նպատակներին։
Playbooks failover: PMS-X 24PMS-Y, Տոկենի, grace ռեժիմներ։
Սենդբոքսները և պայմանագրերը 'թեստային ֆլոուն յուրաքանչյուր մաժորի փոփոխությունից առաջ։
Պրովայդերների պատուհանները 'dashbords և ավտոմատ suport կանոնները։
9) Տվյալները, ալգորիթմները և գաղտնիքները
Փոփոխությունների քաղաքականությունները 'երկու զույգ աչքերի code-ակնարկ, սխեմաների/JSON/YAML։
Գաղտնիքները ՝ KFC/Secrets Express, լուծարումը, բաժանումը/դերերը։
Դրոշները/լիմիթները 'API-ի միջոցով փոփոխությունը աուդիտի և ակնթարթային արձագանքի միջոցով։
Տե՛ ս ՝ «երկշաբաթյա» (expand novmigrate), ընդհանուր հակառակը։
10) Ուսուցում և պատրաստակամություն թիմերի համար
On-call դասընթացները 'սիմուլյացիա, Shadow-հերթապահություն, կենտրոնացված runbook' 2019
Հաղորդակցությունների միավորները 'ստատուսների/հենդովերների/դեպրեսիայի-ապդեյտների օրինակներ։
Անվտանգ մշակույթը 'հետմորտը առանց պարամետրերի, մեխանիկական պատճառները և միգրացիոն գործողությունները։
11) Դաշբորդի կանխարգելումը (նվազագույն)
Risk & Readiness: SLO/բյուջե, headrope շերտերով, «ավելի խոցելի կապեր»։
Change Safety: Կանարյան տոկոսը, արձագանքները, ալերտները «կիսագունդից հետո», CTR ավտոմեքենաների խաղացողները։
Vendor Panel: p95/error/quota/արժեքը յուրաքանչյուր պրովայդերի համար, վենդորի սապորտի պատասխանը։
Chaos/DR Readiness: վարժությունների հաճախությունը, տարածաշրջանի ինտեգրման ժամանակը, վերականգնումների հաջողությունը։
Express/SecOps: Դրոշների/լիմիտների/գաղտնիքների փոփոխություններ, անոմալիաներ։
12) Միգրացիոն ալերտների օրինակներ
ALERT SLOBurnRateHigh
IF slo_error_budget_burnrate{name="payments_api"} > 4 FOR 10m
LABELS {severity="critical", team="payments"}
ALERT PostDeployRegression
IF (api_p99_ms{service="bets"} > baseline_1d 1. 3) AND (release_window="canary")
FOR 10m
LABELS {severity="warning", team="bets"}
ALERT ProviderQuotaNearLimit
IF usage_quota_ratio{provider="psp_x"} > 0. 9 FOR 5m
LABELS {severity="warning", team="integrations"}
ALERT QueueLagAtRisk
IF (kafka_consumer_lag{topic="ledger"} > 5e6 AND rate(kafka_consumer_lag[5m]) > 5e4)
AND (hpa_desired == hpa_max)
FOR 10m
LABELS {severity="critical", team="streaming"}
13) Կանխման թուղթ (ամեն օր/պիկի առաջ)
- Պիկի իրական օրացույցը (խաղեր, մրցույթներ, քարոզարշավներ, պրովայդերների պատուհաններ)։
- Headrope API/BD/kasham/, HPA/SNA պատրաստակամությունը, տաքացնելով քեշը։
- Պրովայդերների վիճակը (քվոտաներ, լիմիտներ, դեգրադացիաներ մեկ ժամվա ընթացքում), ֆեյլերը։
- Kanarech Games-ը ներառում է, ֆենչիֆլագները հասանելի են սեփականատերերին։
- SLO/Capacity-ը ակտիվ է, supression-ը գրված է պլանավորված աշխատանքի համար։
- Runbook "-ը և նորարարված, on-call ապացուցված է, շարժասանդուղքները աշխատողները։
14) Anti-pattern (ինչ խուսափել)
«Մեծ գիշերային ֆորումները» առանց կանարեյկայի և դրոշների։
Հոսքերի ընդհանուր փամփուշտները բոլոր դաունստրիմների վրա (head-of-www.blocking)։
Repray-ը ոչ համակարգային վիրահատությունների և նեղ վայրերի թայմաուտների վրա։
Ալերտերում հիստերեզիայի բացակայությունը շեմին է։
Կույր հավատը KPK վենդորի նկատմամբ առանց դիտելու և կառավարելու թայմաուտները։
«Մենք կդարձնենք վաճառքը» առանց սթեյջի/սանդբոքսի և CDC-ի։
15) KPI կանխարգելումը
Change Failure Rate (նպատակը 10-15 տոկոսն է կամ ձեր թիրախը)։
Pre-Incident Detault Rate-ը դեգրադացիայի փուլում կանխված դեղերի մասն է։
Mean Time Between Incidents (MTBI) и MTTR.
Coverage-ը 'կրիտիկական ճանապարհների տոկոսը դրոշներով/բրեյքերներով/թայմաուտներով/կանարեյով։
Chaos/DR cadence: վարժությունների հաճախությունն ու հաջողությունը։
Vendor readiness: միջին ժամանակը կատարվում է պրովայդերի վրա։
16) Արագ սկիզբը (30 օր)
Շաբաթը 1: կրիտիկական ճանապարհների քարտեզը, SLO և սեփականատերերը։ Միացրեք SLO-burn-alerts և capacity-alerts։
Շաբաթը 2: Կանարյան խաղեր + ֆիչեֆլագներ; հիմնական chaos-սցենարները (պրովայդեր/հերթ)։
Շաբաթ 3: dashbords «Change Safety» և «Vendor Panel», ֆեյլովեր։
Շաբաթ 4: DR ուսուցումը (մասնակի), հետադարձ հայացքը և hardening 'a պլանը թաղամասում։
17) Ձևանմուշներ (բեկորներ)
Կանարյան ավտոմեքենաների քաղաքականությունը (պայմանական-YAML)
canary_policy:
guardrails:
- metric: api_p99_ms threshold: 1. 3 baseline_1d window: 10m action: pause_and_rollback
- metric: error_rate threshold: 2 baseline_1d window: 5m action: pause max_step: 10%
step_interval: 15m required_annotations: [release_notes, feature_flags, runbook_link]
Քայքայման պլանը (դավադրություն)
safe_mode:
payments:
- freeze_heavy_providers
- enable_cached_token_flow
- route_to_psp_y_if(psp_x_error_rate > 5%)
games:
- limit_broadcasts
- reduce_lobby_heavy_widgets bets:
- raise_risk_score_threshold
- cache_odds_snapshot
18) FAQ
Q 'Ի՞ նչ անել առաջին հերթին, եթե ռեսուրսները քիչ են։
A: SLO-burn-alerts կրիտիկական ճանապարհների, Կանարեկյան գեյտերի և ֆիչեֆլագայի վրա։ հետո 'ռիսկերի քարտեզը և պրովայդերների ֆեյլերը։
Q 'Ինչպե՞ ս հասկանալ, որ կանխարգելումը «աշխատում է»։
A: Նվազում է Change Failure Rate-ը, աճում է կանխված պարամետրերի մասնաբաժինը, նվազում է MTTR-ը և ալերտների աղմուկը, նվազում է «գիշերային» լանդշաֆտների քանակը։
Q 'Արդյո՞ ք անհրաժեշտ է www.chaos ուսուցում։
Ա 'Այո։ Առանց սովորելու, ֆեյլերը և DR-ն գրեթե միշտ ավելի երկար և ցավոտ են, քան թղթի վրա։