Health-interk մեխանիզմներ
1) Ինչո՞ ւ
Health-winks-ը առաջին խոչընդոտն է կասկադային ձախողումների դեմ, նրանք ճիշտ դուրս են հանում պարտատոմսերը, կանխում են գետերի փոթորիկը, պարզեցնում դեգրադացիան և արագացնում վերականգնումը 'պահպանելով SLO-ն և նվազեցնելով MTTR-ը։
2) Ստուգման հիմնական տեսակները
Liveness-ը «կենդանի» գործընթաց է (ոչ deadlock/արտահոսք/խուճապ)։ Սխալը բացատրվում է ռեստարտի օրինակով։
Readiness - ծառայությունն ունակ է սպասարկել SLO-ով (բարձրացված փամփուշտներ, եղջյուրներ, կախովի ռեսուրսներ նորմալ)։ Սխալը պետք է բացառվի հավասարակշռությունից, բայց չփորձենք։
Startup-ը պատրաստ է անցնել liveness/readiness (երկար bootstrap, 108, warmup)։ Պաշտպանում է հիբրիդային ռեստարտներից։
Deep-health (սանիտարական-հատուկ) 'բիզնես ինվարանտներ (դրույքաչափը անցնում է end-to-end, դեպոզիտը ներկայացված է ակտիվ PSA-ում)։ Օգտագործվում են քայքայման ազդանշանների համար, բայց ոչ վերը նշված ռեստարտի համար։
External/Winthetic: ակտիվ pings դրսում (API ճանապարհ, առջևի ջութակը, PMS/KYC endpoint) - չափում են օգտագործողի հասանելիությունը։
3) Փորձարկման դիզայն 'ընդհանուր կանոններ
1. Էժան liveness: Մենք չենք քայլում արտաքին կախվածությամբ։ ստուգում ենք իրադարձությունների հանգույցը, heap/FD, watchdog։
2. Readiness SLO-ով. Մենք ստուգում ենք տեղական ռեսուրսները, որոնք անհրաժեշտ են ծառայության համար (BD փամփուշտներ, քեշը տաք, լիմիտներ)։ Արտաքին կախվածությունը «can-serve» -ի միջոցով է։ ազդանշաններ։
3. Latency-budget: Յուրաքանչյուր փորձարկում ունի իր SLA (օրինակ, 100-200 մզ); ավելացնելիս '«degraded», բայց ոչ 5xx liveness-ում։
4. Backoff & Jitter: Փորձարկման ընդմիջումները 5-15 վայրկյան, Tim-aut 1-2 վայրկյան, սխալներով էքսպոնենցիալ ուշացումով, որպեսզի խուսափեն սինխրոն փոթորիկից։
5. Հիստերե.N հաջողակ/սխալ պատասխաններ կարգավիճակի փոփոխության համար (օրինակ ՝ «successt Threshold = 2», «fail.ru Threshold = 3»)։
6. Տարբերակումը 'endpoints '/healthz', «/readyz », «/startupz» կայուն; deep-wwinks «/health/... »անվանված ստուգումներով։
7. Առանց գաղտնիքի և PII 'պատասխանները միայն կարգավիճակներ են և կարճ։
8. Intainability: JSON-ը 'ստուգման ցուցակով '"com "status: "degraded ", "wwww.ks ": ["name ": "db"," ok": 07"," latencyPro": 18 կոդ," name"։ eu","ok":false,"reason":"timeout"}]}`.
4) Deep-winks օրինակները շերտերում
4. 1 BD/kash/2019
ԲԴ 'կարճ գործարք' MS IV 1 'ռելադային կրկնօրինակի և փամփուշտի ստուգման վրա։ latency/replort-lag շեմն է։
Քաշ '«GET »/« IV» թեստային բանալին + hit-ratio guard (ցածր hit warning)։
Object Storage: HEAD ռուսական օբյեկտ (առանց ներբեռնման)։
4. 2 Հերթեր/սթրիմինգ
Բրոքերը ՝ ping-topic publish + consume-ը part.ru սահմաններում։ consumer-lag շեմեր։
DLQ 'dead letter-ում հաղորդագրությունների աճի բացակայությունը պատուհանի հետևում։
4. 3 Արտաքին պրովայդերներ (PFC/KYC/AML)
PBS: lightweight auth-probe (non-monetary), պայմանագրի ստուգում/ww.ru/քվոտ; եթե ոչ safe-փորձարկումներ, մենք օգտագործում ենք metrics (հաջողությունը հինգ-10 րոպեում բանկերում/GEO)։
KYC/AML: health-API և SLA գծերը; քայքայման դեպքում այլընտրանքային հոսքի/պրովայդերի անցումն է։
4. 4 API/ճակատ
Սինթետիկա 'գործարքային ուղի (լոգին Nogosit dezosit produck «ավազի») EU/LATAM/APAC-ում։
RUM ազդանշան 'JS/HTP և LCP/TTFB սխալների մի մասը «դրսում» է։
5) Ինտեգրումը պլատֆորմի հետ
5. 1 Kubernetes / Cloud
«Startium Probe» -ը պաշտպանում է bootstrap (07/kash-warmup)։
«livenessProbe» -ը մինիմալիստական է, «readom Probe» -ը հաշվի է առնում/kash/տեղական գծերը։
PodEurupics Budget-ը և Unavailable-ը, հաշվի առնելով readiness-ը։
Параметры: `initialDelaySeconds`, `periodSeconds`, `timeoutSeconds`, `failureThreshold`, `successThreshold`.
HPA/KEDA 'ավելացում հերթերով/SLI; readiness ազդում է routing-ի վրա։
5. 2 Հավասարակշռիչներ/նավակներ/mesh
Health-routing-ը L7 մակարդակում (HTTP 200/429/503 semant.ru)։
Corier detics (envoy/mesh) 'փամփուշտից դուրս բերումը error-rate/latency percentiels-ով։
Circuit-breaker: Միաժամանակ հարցումների/կախվածության միացման սահմանները, health ազդանշանների ինտեգրումը։
5. 3 Ավտոսկեյլինգ և դեգրադացիա
Readiness = FALSE-ը նկարվում է, բայց pod կենդանի (կարող է տաքանալ)։
Deep-degrade (PMS down) feature flags-ը graceful ռեժիմի համար (օրինակ, ժամանակավորապես թաքցնել վճարման մեթոդները, ներառել waiting-room)։
6) Թայմ-աուտների և գետերի քաղաքականությունը
Tim-aut Idempotenty: Պարտադիր է ռետրերի համար։ օգտագործում ենք idempotency-keys։ Էքսպոնենցիալ backoff + jitter: կանխում է սինխրոն վալ էֆեկտները։ Գետերի բյուջեները ՝ caps per-request/tenae, պաշտպանություն «retry-stor.ru» -ից։ 7) Պետության և ալերտինգի ազդանշանները Burn-rate-alerts SLO-ով 'արագ (1 ժամ) և դանդաղ (6-24 ժամ)։ Eurelation-hinae: նշաններ թողարկումների/ֆիչի դրոշների/պլանավորված աշխատանքների մասին։ System-acions: «կարմիր» deep-71-ի դեպքում, միացրեք պրովայդերի fallback-ը, բարձրացրեք ուղիների յոթ։ 8) Խելացի ռազմավարություններ iGaming-ի համար Payme-aere readiness-ը, ռուսական ձեռնարկության պատրաստակամությունը հաշվի է առնում PSA-ի երթուղիչի վիճակը և բանկերի սահմանները/GEO-ն։ Oddds/Lines publishing: Pabliker-ի readiness կախված է համախմբված lag-ից գծերի աղբյուրներից և տարածման ժամանակներից քեշի/edge-ում։ Tournament spikes: ժամանակավոր քաղաքականությունը ավելի ագրեսիվ է, քան deta.ru և waiting-room։ 9) Անտիպատերնի Մեկ «համընդհանուր» health-endpoint առանց startup/readess/liveness բաժանման։ Հիստերեզիսի բացակայությունը ֆլամպինգ ուղղություն է։ Թաքնված 5xx-ը health-endpointach-ում (իրական կարգավիճակի դիմակավորում)։ 10) Ինտերֆեյսների օրինակները /startupz → `200 OK {"uptimeSec": ..., "version":"..."}` /healthz (liveness) → `200 OK {"heapOk": true,"fdOk":true,"eventLoop":"ok"}` /readyz (readiness) → `200 OK/503 {"canServe": true,"db":{"ok":true,"latencyMs":12},"cache":{"ok":true},"queue":{"ok":true,"lag":0},"localQuota":{"ok":true}}` `200/206/503 {"psp. eu": {"ok":false,"reason":"timeout"}, "psp. alt":{"ok":true}, "routerMode":"failover"}` 11) Health-2019 (KPI/KRI) «Ֆլամպինգի» հաճախականությունը readinesper ծառայություն է։ MTTR-ն, որտեղ health մեխանիզմները դեր խաղացին (մինչև/հետո)։ vs RUM սինթեզի ճշգրտությունը (կեղծ գործիքներ/բացթողումներ)։ 12) Ճանապարհի քարտեզը (4-8 շաբաթ) Մոսկվան։ 1-2 'կրիտիկական ճանապարհների բուլարիզացիա; տարբերակել startup/liveness/readiness; Մուտքագրեք JSON պատասխանները ստուգումների և հիստերիայի տակ։ Մոսկվան։ 3-4 'ավելացնել deep-winks: BD/kash/brocker; սինթեզիկա լոգինի/դեպոզիտի/տոկոսադրույքի համար 2-3 GEO; միացրեք www.ier-det.ru դարպասի/mesh։ Մոսկվան։ 5–6: payment-aware readiness и PSP-fallback; waiting-room առջևի համար; ավտոմատ սկեյլինգը lag/um; ալերտներ burn-rate։ Մոսկվան։ 7-8: chaos-օրեր (PFC/BD կրկնօրինակներ), backoff/jitter ստուգում; Fintuning taim, PDB; KPI զեկույցը և կիսագունդը։ 13) Արտեֆակտները Health Spec (per ծառայություն) 'ստուգումների ցանկը, ժամանակի բյուջեները, histerement, գործողություններ կարմիր կարգավիճակում։ Runbooks: "Readiness = FALSE: Ի՞ նչ ենք անում։ ", "PMS-fallback: Քայլեր և չափանիշներ"։ Routing Policy: կանոնները wwww.ier-det.ru, circuit-breakers, պերցենտալ շեմեր։ Releault Gate: Reep Gate-ը կարմիր deeep-Systek-ի հիմնական կախվածությունների ժամանակ։ Health-winks-ի գրագետ նախագծված ստանդարտը ազդանշանների շերտավոր համակարգ է 'թեթև liveness' գործընթացի կենսունակության համար, readiness-ը, որպեսզի կարողանա սպասարկել հրթիռները, startup-ը պաշտպանված գործարկման և սանիտարական-հատուկ deeep-deep-dep-corks-ի համար։ Autoscaling, www.ier-routing, սինթետիկ և SLO-alerting-ի հետ կապի մեջ այն նվազեցնում է կասկադային ձախողումների ռիսկը, կրճատում է MTTR-ը և կայունացնում iGaming պլատֆորմի բիզնես քննադատական ճանապարհները։
Կանաչ/Դեղին/Կարմիր 'համախմբված արձաններ դաշբորդի ծառայության վրա։
Liveness-ը, ով գնում է BD/PSA-ում ռուսական զանգվածային ռեստարտներ արտաքին խնդրի ժամանակ։
Կոշտ խաղաթուղթ առանց backoff/jitter-ը բացատրում է ռետրոյի փոթորիկը։
Deep-k- ը, որը ձգում է ռեստարտները (նրա նպատակը ախտորոշումն ու միկրոօրգանիզմն է, չի վերականգնվում)։
Ստուգումներ ՝ init-ջութակները, կոդերը ավարտված են, բանալիները և եզրերը բեռնված են։
Ստուգումներ 'իրադարձությունների ցիկլը, գործընթացի ռեսուրսները, խուճապի բացակայությունը/oj-դրոշները։
/health/payments (deep) →
«DiretReady» -ից «Ready» (warmup-SLO) դուրս գալու ժամանակը։
Սխալ նկարագրված pod (root-cause - արտաքին կախվածություն)։
Ավտոմատ failover/feature-degrade-ի մասնաբաժինը առանց on-call մասնակցության։
Inthetic Playbook-ը 'սցենարներ և աշխարհագրություններ, SLO սինթետիկ, ռուսական։
Արդյունքը