GH GambleHub

SLO, SLA և հուսալիություն

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

Live ռեզյումե

SLO-ն որակի ներքին նպատակն է, SLA-ն արտաքին պարտավորություն է հաճախորդի, SLI-ի, ինչպես մենք չափում ենք որակը։ IGaming-ում հիմնական SLI-ն 'API-ի հասանելիությունը և հենակետը, p95/p99 կրիտիկական երթուղիների լատենտությունը, Time-to-Wallet (TTW), վճարումների փոխակերպումը, խաղերի մեկնարկը, ինչպես նաև հերթերի նետումը։ Վստահության կառավարումը կառուցվում է սխալների բյուջեի շուրջ, multi-burn alerts, պարզ առյուծների խաղացողներ և տեսողական դաշնամուրներ, որոնք ունեն։

1) Տերմիններ և տարբերություններ

SLI (WindLevel Indication) - չափված ցուցիչ (օրինակ, ժամանակի պատուհանի համար հաջողակ հարցումների մասնաբաժինը)։

SLO (No Level Objective) - SLI (օրինակ ՝ "հասանելիություն 99։ 9 տոկոսը 30 օրվա ընթացքում")։

SLA (Black Level Agream) - պայմանագիր/փոխհատուցման պարտավորություն; հիմնված է իրական SLO-ի վրա, բայց ներառում է իրավաբանական և բացառությունների պատուհաններ (planned maintenae, fors-major)։

Կանոն 'նախ կայունացրեք SLI/SLO ներսում, և միայն հետո ձայնագրեք SLA-ը։

2) SLI-ի շրջանակը iGaming-ի համար

TexSLO

Availability: հաջողակ 2xx/3xx/բոլոր հարցումները։

Latency: p95/p99 հիմնական routes («/deposit », «/bet», «/game/init »)։

Errors '5x/timauts մասնաբաժինը։

Saturation/Queues-ը 'ռուսական/գործարքների հերթերի ուշացումը։

Բիզնես SLI

Payment conversion: `success/attempt`.

TTW p95: ժամանակ եզրակացության հարցումից մինչև հաշվարկը։

Game start success: Խաղերի նստաշրջաններ, պրովայդերի նախաձեռնություն։

KYC/AML flow success 'ճանապարհի հաջողակ ավարտը։

3) Սխալների բյուջե 'ինչպես ենթադրել

Error Budget = 1 − SLO.

Օրինակ 'SLO հասանելիություն 99։ 9 %/30d ռուսական սխալների բյուջեն = 0։ Ժամանակի 1 տոկոսը նշված է 43min 12s 30-օրյա պատուհանում։

SLI բաժնետոմսերի համար


success_ratio = success_requests / all_requests error_ratio  = 1 - success_ratio

SLO-ն համարվում է սահուն պատուհանի վրա (30/7/1 օր) և երևում է dashbords-ում։

Օգտագործման քաղաքականությունը

Արագ «այրումը» բյուջեից wwww.freeze ածխաջրածիններ են, կանգուն, մենք աշխատում ենք կայունության վրա։

Բյուջեի պահուստը թույլ է տալիս ավելի հաճախակի փոփոխություններ (վերահսկելի)։

4) SLO օրինակները հիմնական հոսքերի համար

Payments API:
  • Availability ≥ 99. 9 %/30d
  • Latency p95 `/deposit` ≤ 250 ms / 30д
  • Payment conversion ≥ baseline − 0. 3 %/111 ժամ
  • TTW p95 (եզրակացություն) 243 րոպե/210 ժամ
  • Games API/խաղերի պրովայդերներ

Game init success ≥ 99. 5% / 7д p95 game init ≤ 600 ms / 7д

Backoffice/հաշվետվություններ

Job success 2499 %/7d, lag <5 րոպե (առանձին)։

5) Չափումը ՝ բանաձևը և PromQL (գաղափարներ)

Հարցումների հաջողությունը

promql sum(rate(http_requests_total{status=~"2..    3..",service="payments-api"}[5m]))
/
sum(rate(http_requests_total{service="payments-api"}[5m]))

p95 լատենտ

promql histogram_quantile(0. 95,
sum by (le) (rate(http_request_duration_seconds_bucket{service="payments-api",route="/deposit"}[5m])))

TTW p95 (իրադարձությունների հիստոգրամ)

promql histogram_quantile(0. 95,
sum by (le) (rate(ttw_seconds_bucket{flow="withdrawal"}[15m])))

Վճարման կոնվերսիան

promql sum(rate(payments_success_total[15m])) / sum(rate(payments_attempt_total[15m]))

6) Burn-rate-alerta (multi-2019)

Գաղափարը 'համեմատում ենք բյուջեի սպառման ներկա արագությունը թույլատրելի հետ։

SLO 99-ի օրինակ։ 9%:
  • Fultburn: 14 ռուսական բյուջեը 1 ժամվա ընթացքում հինգ-15 րոպե հետո։
  • Slow burn: 6 բյուջեներ 24 ժամվա ընթացքում, պատճառների վերլուծություն։

Կեղծ կանոնները

yaml recording rule: job:http:success_ratio — заранее alert: SLOFastBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 14 for: 10m labels: { severity: "page" }

alert: SLOSlowBurn expr: (1 - job:http:success_ratio{job="payments-api"}) > (1 - 0. 999) 6 for: 1h labels: { severity: "ticket" }

7) Dashbords «SLO քարտեզը» և վիրահատությունը

Վերին մակարդակը (քարտեզը)

Ծառայությունների քարտերը ՝ Availability, p95, Error-rate, Burn-rate, մնացած Error Budget։

Ֆիլտրեր ՝ «env», «region», «tenault», «version»։

Օրինագծերի նույնականացումները ՝ Git SHA, տիպը (canary/blue-green), ժամանակը։

Drill-down:
  • Համեմատություն stable vs canary.
  • PFC/խաղերի պրովայդերներ։
  • Անցում դեպի exemplars (trace _ id) և կապված։
  • Queue lag և saturation (USE մետր)։

8) SLO գործընթացները 'գեյթ, ֆրեզե, էսկալացիա,

Gates CD-ում. Կանարեյկայի առաջխաղացումը թույլատրվում է միայն SLO-2019 (availability, p95, conv) կատարելիս։

Freeze 'fox-burn-ով կամ բյուջեի զրոյական մնացորդով, ածխաջրածինների կանգառը մինչև վերականգնումը։

Էսկալացիա: SEV-մատրիցա (SEV1 վճարումներ/դեպոզիտներ, SEV2 խաղեր, SEV3 becope)։

RCA 'վերլուծություն առանց հաշվարկների, թեստերի/լիմիտների/ֆիչեֆլագների նորարարություն։

9) Մոսկվա/ML-SLO (առաջարկների համար/LLM)

Latency: p95 մոդելի պատասխանը 300 ռուբլիներ է (կամ tokens/s pro N)։

Quality proxy 'վալիդային պատասխանների մասնաբաժինը/ցածր թունավորությունը, helpful-ը։

Freshness: Ավարտի/տվյալների տարիքը X ժամ։

Cost per 1k events։

SLO գեյտները ինտեգրվում են մոդելների կատալոգներում (A/B/kanared rolout)։

10) SLA նախագծումը SLO-ի հիմքում։

Ընտրեք պահպանողական SLO-ը որպես SLA-ի հիմքը։

Բացառությունների իրականացումը (պլանավորված աշխատանք, արտաքին կախված պրովայդերներ, կոդավորման կանոնակարգ)։

Մուտքագրեք փոխհատուցումը խախտումների մակարդակներում (վարկեր/զեղչեր), հաշվետվության և ստուգման մեխանիզմները։

11) Հաճախակի սխալներ և հակատիպեր

Ոչ SLO-ն, միայն «uptime 100 տոկոսը» - ոչ ռեալիստական, դեմոտիվացնում և թաքցնում ռիսկերը։

Ալերտները «յուրաքանչյուր մետր» փոխարեն burn-rate-alert-fetig-ի և անտեսման փոխարեն։

PII-ի խառնուրդը մետրերում/logs SLO-ի համար կոմպլանսի ռիսկերն են։

Կարդինալությունը պայթում է '«user _ id/session _ id» որպես պիտակներ։

Օրինագծերի նույնականացման բացակայությունը դժվար է կապել դեգրադացիաները փոփոխությունների հետ։

Սխալների անթափանց բյուջեն, թիմը չի հասկանում, թե երբ կարող եք ռիսկի դիմել։

SLO-ն կապված չէ բիզնեսի հետ '«կանաչ» տեխնիկան, «կարմիր» եկամուտը։

12) Ներդրման չեկի ցուցակ

1. Հաստատեք հիմնական SLI (Availability, p95/p99, Error-rate, TTW, Conversion)։

2. Թույլ տվեք SLO-ը 30/7/1-օրյա պատուհաններով և համարեք Error Budget-ը։

3. Ավելացրեք recording rules և burn-rate ալերտներ (fox/slow)։

4. Կառուցեք SLO քարտեզ, որոնք ունեն ածխաջրածինների և canary/stable համեմատություններ։

5. Միացրեք խաղացողները CD-ում 'առանց SLO-ok-ի, առանց խթանման։

6. Մուտքագրեք freeze ընթացակարգերը և SEV-մատրիցը։

7. Միացրեք SLO-ը բիզնես մետրիկների հետ (conv, TTW) և հիբրիդային երթուղիների հետ։

8. System/ML wwww.latency/quality/freshness-SLO-ի համար։

9. Express RCA-ը և SLO/progs-ը (եբեքվարտալ)։

10. Փաստաթղթավորեք SLA-ը միայն SLO-ի հայտարարությունից հետո։

13) «պատրաստ» նպատակների օրինակները (ինչպես սկսելը)

API ընդհանուր 'Availability 99։ 9 %/30d; p95 .2250 մգ/30d; Error-rate ≤ 0. 3 %/30d։

Payments: Conversion ≥ baseline − 0. 3 %/111 ժամ; TTW p95 243 րոպե/112 ժամ։

Games init: Success ≥ 99. 5 %/7d; p95 24600 ռուբլիներ/7d։

Backoffice jobs: Success ≥ 99%/7д; lag 355 րոպե/7d։

LLM/Reco: tokens/s ≥ N, toxicity viol. ≤ 0. 5 %/7d, freshness 246h։

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

SLO/SLA մոտեցումը վերածում է «ավելի լավ, քան երեկ» չափվող կարգապահության 'թափանցիկ SLI, հասկանալի սխալների բյուջե, այրման արագության ալտերտեր, հասկանալի տաշբորդեր և ներկառուցված որակի գեյտեր։ Այս ստանդարտը տալիս է iGaming-պլատֆորմը կանխատեսելի p95/p99, կայուն վճարումները և TTW-ը, ինչը նշանակում է, որ լավագույն եկամուտը և ավելի քիչ վճարումը ամենաթեժ ժամացույցներում։

Contact

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

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

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

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

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

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