Механизмҳои санҷиши саломатӣ
1) Чаро
Санҷишҳои тиббӣ монеаи аввал бар зидди нокомии касадӣ мебошанд: онҳо гиреҳҳоро аз гардиш дуруст дур мекунанд, тӯфонҳои бозгаштро пешгирӣ мекунанд, таназзулро содда мекунанд ва барқароршавиро суръат мебахшанд, SLO-ро нигоҳ медоранд ва MTTR-ро кам мекунанд.
2) Намудҳои асосии чекҳо
Зиндагӣ - раванд "зинда" аст (бунбаст/ихроҷ/воҳима нест). Хатогӣ ва аз нав оғоз кардани намуна.
Омодагӣ - хидмат қодир аст, ки трафикро бо SLO-ҳои мақсаднок хидмат кунад (ҳавзҳо баланд бардошта мешаванд, кэш гарм карда мешавад, захираҳои вобастагӣ муқаррарӣ мебошанд). Хатогӣ → аз мувозинат хориҷ карда мешавад, аммо аз нав оғоз карда намешавад.
Startup - хизматрасонӣ барои гузаштан ба зиндагӣ/омодагӣ (пурборкунии дароз, муҳоҷират, гармӣ) омода аст. Аз бозоғозии бармаҳал муҳофизат мекунад.
Саломатии амиқ (домени мушаххас): инвариантҳои тиҷорат (меъёри ниҳоӣ мегузарад, пасандоз аз ҷониби PSP фаъол аст). Барои сигналҳои таназзул истифода мешавад, аммо на барои бозоғозии фаврӣ.
Берунӣ/синтетикӣ: пингҳои фаъол дар берун (роҳи API, скрипти пеши, нуқтаи PSP/KYC) - дастрасии корбарро чен кунед.
3) Тарҳи намуна: қоидаҳои умумӣ
1. Зиндагии арзон: ба вобастагии беруна наравед; ҳалқаи ҳодиса, тӯда/FD, назоратчиро санҷед.
2. Омодагӣ аз ҷониби SLO: мо захираҳои маҳаллиро, ки барои нигоҳдорӣ заруранд, тафтиш мекунем (ҳавзҳои пойгоҳи додаҳо, кэши гарм, маҳдудиятҳо). Вобастагии беруна - тавассути бастани "хизмат карда метавонад?" сигналҳо.
3. Буҷаи ниҳоӣ: ҳар як намуна SLA-и худро дорад (масалан, ≤ 100 -200 мс); агар аз ҳад зиёд бошад - "таназзулёфта", аммо на 5xx оид ба зиндагӣ.
4. Backoff & Jitter: фосилаи намуна 5-15 сония, вақти 1-2 сония, бо таъхири экспоненсиалӣ дар хатогиҳо барои пешгирӣ кардани тӯфонҳои синхронӣ.
5. Гистерезис: N муваффақият/ҷавобҳои хато барои тағир додани вазъ (масалан, 'success' Ҳадди = 2 ',' Нокомӣ = 3 ').
6. Версия: нуқтаҳои ниҳоӣ '/healthz ', '/readyz', '/startupz 'устувор мебошанд; санҷишҳои амиқ дар зери '/саломатӣ/... 'чекҳои номбаршуда.
7. Ҳеҷ махфӣ ва PII: ҷавобҳо танҳо статусҳо ва рамзҳои кӯтоҳ мебошанд.
8. Фаҳмондадиҳӣ: JSON бо рӯйхати зергурӯҳҳо: '{"status": "таназзул", "чекҳо": [{"ном": "db", "ok": дуруст, "latency eu, "ok": дурӯғ, "сабаб": "вақт"}]} '.
4) Намунаҳои санҷиши амиқ аз рӯи қабат
4. 1 DB/Кэш/Анбор
DB: муомилоти кӯтоҳ 'SELECT 1' барои хондани нусха ва санҷиши ҳавз; ҳадди ниҳоӣ/такрорӣ-ақибмонӣ.
Кэш: 'GET '/' SET' калиди санҷишӣ + посбонони таносуб (огоҳии кам).
Захираи объект: HEAD объекти мавҷуда (зеркашӣ карда намешавад).
4. 2 Навбатҳо/ҷараён
Брокер: нашри пинг-мавзӯъ + истеъмол дар қисмати маҳаллӣ; ҳадди ниҳоии истеъмолкунандагон.
DLQ: Ягон хӯшае дар паёмҳои хаттӣ дар як тиреза нест.
4. 3 Провайдерҳои беруна (PSP/KYC/AML)
PSP: санҷиши сабуки аут-проб (ғайримолиявӣ), санҷиши шартнома/шаҳодатнома/квота; агар намунаҳои бехатар мавҷуд набошанд, мо ченакҳои проксиеро истифода мебарем (муваффақияти иҷозатномаҳо дар 5-10 дақиқа аз ҷониби бонкҳо/GEO).
KYC/AML: навбатҳои саломатӣ-API ва SLA; дар ҳолати таназзул - гузариш ба ҷараёни/провайдери алтернативӣ.
4. 4 API/пеши
Синтетика: роҳи транзаксия (login → deponit-inition → bet "дар рег") дар EU/LATAM/APAC.
Сигнали RUM: таносуби хатогиҳои JS/HTTP ва LCP/TTFB - триггерҳои "берун".
5) Ҳамгироии платформа
5. 1 Кубернетес/Абр
'startup' Probe 'пурборшаванда (муҳоҷират/гармкунии кэш).
'liveness' Probe 'is minimalistic; 'readiness' ҳавзҳо/кэш/навбатҳои маҳаллиро ба назар мегирад.
Параметры: 'ибтидои Delaily', 'давраҳои сонияҳо', 'вақтсанҷи сонияҳо', 'нокомӣ', 'муваффақият'.
Poddisruption- Budget ва максимум бо назардошти омодагӣ дастнорасанд.
HPA/KEDA: миқёси навбат/SLI; омодагӣ ба масир таъсир мерасонад.
5. 2 Мувозинат/дарвоза/фикрию
Масири саломатӣ дар сатҳи L7 (HTTP 200/429/503 семантика).
Муайянкунии берунӣ (фиристанда/фикрию) - баромади ҳавз аз рӯи хатогӣ/фоизи ниҳоӣ.
Пайвасткунак: маҳдудиятҳо барои дархостҳо/пайвастшавӣ ба вобастагӣ, ҳамгироӣ бо сигналҳои саломатӣ.
5. 3 Автоскализатсия ва таназзул
Омодагӣ = FALSE → трафик хориҷ карда мешавад, аммо подабон зинда аст (метавонад гарм шавад).
Деградатсияи амиқ (PSP поён) → парчамҳои дорои режими зебо (масалан, усулҳои пардохтро муваққатан пинҳон кунед, ҳуҷраи интизорӣ).
6) Сиёсати вақт ва ақибнишинӣ
Вақти вақт <буҷети SLO: 'вақт = дақиқа (⅓ p99, 1-2s)' барои вобастагии синхронӣ.
Idempotence: барои бозпурсӣ ҳатмӣ; калидҳои idempotency-ро истифода баред.
Бозгашти экспоненсиалӣ + ҷиттер: таъсири чоҳи синхрониро пешгирӣ мекунад.
Буҷаҳои бозгашт: ҳадди ақалл барои ҳар як дархост/иҷорагир, муҳофизат аз "тӯфонҳои такрорӣ".
7) Сигналҳои вазъ ва огоҳӣ
Сабз/Зард/Сурх: ҳолати мухтасар дар панели хидматрасонӣ.
Огоҳии сатҳи сӯхтан аз ҷониби SLO: зуд (1 соат) ва суст (6-24 соат).
Коррелятсия-маслиҳатҳо: Релиз/Парчами хусусият/Қайдҳои фаъолият.
Амалҳои худкор: бо санҷиши амиқи "сурх" - фурӯпошии провайдерро фаъол кунед, интихоби роҳҳоро зиёд кунед.
8) Стратегияҳои интеллектуалӣ барои IGaming
Омодагии огоҳонаи пардохт: омодагии хидмати букмекерӣ ҳолати роутер PSP ва маҳдудиятҳои бонкҳо/GEO-ро ба назар мегирад.
Нашри Odds/Lines: омодагӣ дар ношир аз ақибмонии мухтасар аз манбаи хат ва вақти тақсимот дар кэши/канорӣ вобаста аст.
Хӯшаҳои мусобиқа: сиёсати муваққатии ошкоркунии шадидтар ва ҳуҷраи интизорӣ.
9) Антипаттернҳо
Зиндагӣ, ки ба пойгоҳи додаҳо/PSP → меравад, барои мушкилоти беруна дубора оғоз меёбад.
Як нуқтаи "универсалӣ" -и саломатӣ бидуни оғози ҷудошавӣ/омодагӣ/зинда будан.
Вақтсанҷи сахт бидуни бозгашт/jitter → тӯфони бозгашт.
Не гистерезис → парпечи масир.
Санҷиши амиқ, ки бозоғозро оғоз мекунад (ҳадафи он ташхис ва масир аст, аз нав оғоз намекунад).
5xx пинҳон дар нуқтаҳои саломатӣ (ниқоб кардани ҳолати воқеӣ).
10) Қолабҳои интерфейс
/ startupz → '200 OK {"uptimE Sec": ..., "версия":...""}'
Санҷишҳо: скриптҳои init, муҳоҷирати анҷомёфта, калидҳо ва конфигуратсияҳо бор карда шудаанд.
/ healthz (liveness) → '200 OK {"heap
Санҷишҳо: сикли рӯйдодҳо, захираҳои коркард, набудани парчамҳои воҳима/oom.
/ readyz (омодагӣ) →
'200 OK/503 {"can' Serve": дуруст, "db": {"ok": ҳақиқӣ, "latency
/ саломатӣ/пардохтҳо (амиқ) →
'200/206/503 {' psp. eu ": {"ok ": дурӯғ, "сабаб":" танаффус"}, "psp. alt ": {"ok": true}, "routermode ":" failover"} '
11) Нишондиҳандаҳои сифати гардиш дар соҳаи тандурустӣ (KPI/KRI)
Вақти баромадан аз Pod аз 'Омода нест' ба 'Омодагӣ' (гарм-SLO).
Басомади омодагии флиппинг барои як хидмат.
% иштибоҳан pod (решаи сабаб - вобастагии беруна).
MTTR ҳодисаҳое, ки дар он механизмҳои саломатӣ нақш мебозиданд (пеш аз/баъд).
Ҳиссаи нокомии автоматӣ/хусусият-таназзул бидуни занг.
Дақиқии синтетикӣ vs RUM (мусбат/пазмонҳои бардурӯғ).
12) Харитаи роҳсозӣ (4-8 ҳафта)
Нед. 1-2: инвентаризатсияи роҳи интиқодӣ; пас аз оғози кор/зиндагӣ/омодагӣ; ҷавобҳои JSON-ро бо зербахшҳо ва гистерезис ворид кунед.
Нед. 3-4: илова кардани чекҳои амиқ: пойгоҳи додаҳо/кэш/брокер; синтетика барои воридшавӣ/амонат/гарав дар 2-3 GEO; фаъол кардани ошкоркунии берунӣ дар дарвозаи/фикрию.
Нед. 5-6: омодагии огоҳона барои пардохти PSP-нокомӣ; толори интизорӣ барои пеш; autoscaling бо ақибмонӣ/навбатҳо; ҳушдорҳо бо суръати сӯхтан.
Нед. 7-8: рӯзҳои бетартибӣ (хомӯш кардани нусхаҳои PSP/пойгоҳи додаҳо), санҷиши бозгашт/ҷиттер; мӯҳлати ниҳоӣ, PDB; Ҳисоботи KPI ва ислоҳ.
13) Артефактҳо
Spec Health (барои як хидмат): рӯйхати санҷишҳо, буҷаи вақт, гистерезис, амалҳо бо ҳолати сурх.
Китобчаҳо: "Омодагӣ = FALSE: Мо чӣ кор карда истодаем? ", "PSP-нокомӣ: қадамҳо ва меъёрҳои бозгашт".
Сиёсати масир: қоидаҳои муайянкунии берунӣ, пайвасткунакҳо, ҳудудҳои фоизӣ.
Китоби бозикунии синтетикӣ: скриптҳо ва ҷуғрофияҳо, синтетикаи SLO, ҷадвал.
Дарвозаи озод: блокҳои озодкунӣ бо вобастагии калидҳои чуқури сурх.
Натиҷа
Давраи хуб тарҳрезишудаи санҷиши саломатӣ як системаи қабати сигналҳо мебошад: зиндагии осон барои қобилияти раванд, омодагӣ ба қобилияти хидматрасонии трафик, оғози оғози бехатар ва санҷишҳои амиқи домейн барои таназзули идорашаванда ва масир. Дар якҷоягӣ бо автоскалинг, масирдиҳии берунӣ, синтетика ва SLO-ҳушдор, он хатари нокомии касадро коҳиш медиҳад, MTTR-ро коҳиш медиҳад ва роҳҳои муҳими тиҷорати платформаҳои IGaming-ро ба эътидол меорад.