مکانیسم های بررسی سلامت
1) چرا
چک های بهداشتی اولین مانع در برابر شکست های آبشار هستند: آنها به درستی گره ها را از چرخش حذف می کنند، جلوگیری از طوفان های مجدد، ساده سازی تخریب و سرعت بخشیدن به بهبود، حفظ SLO و کاهش MTTR.
2) انواع پایه چک
زنده بودن - این روند «زنده» است (بدون بن بست/نشت/وحشت). خطا در & راهاندازی مجدد نمونه.
آمادگی - این سرویس قادر به سرویس دهی ترافیک با SLO های هدف است (استخرها بالا می روند، حافظه پنهان گرم می شود، منابع وابسته طبیعی هستند). خطا → از تعادل حذف می شود، اما دوباره راه اندازی نمی شود.
راه اندازی - سرویس آماده است برای رفتن به زندگی/آمادگی (بوت استرپ طولانی، مهاجرت، گرم شدن). محافظت در برابر شروع مجدد زودرس
سلامت عمیق (دامنه خاص): invariants کسب و کار (نرخ پایان به پایان می رسد، سپرده توسط PSP فعال مجاز). برای سیگنال های تخریب استفاده می شود، اما نه برای راه اندازی مجدد فوری.
خارجی/مصنوعی: پینگ فعال در خارج (مسیر API، اسکریپت جلو، نقطه پایانی PSP/KYC) - اندازه گیری در دسترس بودن کاربر.
3) طراحی نمونه: قوانین کلی
1. زندگی ارزان: به وابستگی های خارجی نروید ؛ حلقه رویداد، هیپ/FD، نگهبان را بررسی کنید.
2. آمادگی توسط SLO: ما منابع محلی مورد نیاز برای تعمیر و نگهداری (استخرهای پایگاه داده، کش گرم، محدودیت ها) را بررسی می کنیم. وابستگی های خارجی - از طریق غیر مسدود کردن «می تواند خدمت کند ؟» سیگنال ها
3. بودجه تأخیر: هر نمونه SLA خاص خود را دارد (به عنوان مثال، ≤100 -200 ms) ؛ اگر بیش از حد - «تنزل»، اما نه 5xx در زندگی.
4. Backoff & Jitter: فواصل نمونه 5-15 ثانیه، وقفه 1-2 ثانیه، با تاخیر نمایی در اشتباهات برای جلوگیری از طوفان همزمان.
5. هیسترزیس: N پاسخ موفقیت/خطا برای تغییر وضعیت (به عنوان مثال،. 'successThreshold = 2', 'failureThreshold = 3').
6. Versioning: endpoints «/healthz », «/readyz», «/startupz »پایدار هستند; بررسیهای عمیق در زیر/سلامت/... با چکهای اسم دار.
7. بدون راز و PII: پاسخ ها فقط وضعیت ها و کدهای کوتاه هستند.
8. توضیح: JSON با لیستی از زیر چک: {"وضعیت ": "تنزل "، "چک ": [{"نام ": "db"،" خوب": درست،" latencyMs": 18}، {" نام":" psp. eu «,» ok «: غلط,» دلیل «:» timeout «}]».
4) نمونه هایی از بررسی های عمیق توسط لایه
4. 1 DB/کش/ذخیره سازی
DB: معامله کوتاه 1 'برای خواندن ماکت و بررسی استخر ؛ آستانه تاخیر/تکرار-تاخیر.
کش: کلید تست «GET »/« SET» + محافظ نسبت ضربه (ضربه کم → هشدار).
Object Storage: HEAD یک شی موجود (بدون دانلود).
4. 2 صف/جریان
کارگزار: ping-topic منتشر + مصرف در پارتیشن محلی ؛ آستانه مصرف کننده-عقب مانده.
DLQ: بدون سنبله در پیام های نامه مرده در هر پنجره.
4. 3 ارائه دهندگان خارجی (PSP/KYC/AML)
PSP: auth-probe سبک وزن (غیر پولی)، تأیید قرارداد/گواهی/سهمیه ؛ اگر هیچ نمونه امن وجود دارد، ما با استفاده از معیارهای پروکسی (موفقیت مجوز در 5-10 دقیقه توسط بانک ها/GEO).
KYC/AML: صف های سلامت-API و SLA ؛ در صورت تخریب - تعویض به یک جریان/ارائه دهنده جایگزین.
4. 4 API/جلو
Synthetics: مسیر معامله (ورود → سپرده گذاری → شرط «در شن و ماسه») در اتحادیه اروپا/LATAM/APAC.
سیگنال RUM: نسبت خطاهای JS/HTTP و LCP/TTFB - باعث «خارج» می شود.
5) ادغام پلت فرم
5. 1 کوبرنتیز/ابر
'startupProbe' protects بوت استرپ (مهاجرت/کش گرم کردن).
'livenessProbe' مینیمالیستی است ؛ 'readinessProbe' طول می کشد را به استخر حساب/کش/صف های محلی.
Параметры: 'initialDelaySeconds', 'periodSeconds', 'timeoutSeconds', 'failureThreshold', 'successThreshold'.
PodDisruptionBudget و maxUnavailable با توجه به آمادگی.
HPA/KEDA: مقیاس صف/SLI ؛ آمادگی بر مسیریابی تاثیر می گذارد.
5. 2 متعادل کننده ها/دروازه ها/مش
مسیریابی سلامت در سطح L7 (معناشناسی 200/429/503 HTTP).
تشخیص دور (نماینده/مش) - خروجی از استخر توسط درصد خطا/تاخیر.
Circuit-breaker: محدودیت برای درخواست/اتصال همزمان به وابستگی، ادغام با سیگنال های بهداشتی.
5. 3 Autoscaling و تخریب
آمادگی = FALSE → ترافیک حذف شده است، اما غلاف زنده است (می تواند گرم شود).
Deep-degrade (PSP پایین) → ویژگی های پرچم برای حالت برازنده (به عنوان مثال، به طور موقت پنهان کردن روش های پرداخت، فعال کردن اتاق انتظار).
6) سیاست های وقفه و عقب نشینی
Timeout <SLO budget: 'timeout = min (⅓ p99, 1-2s)' برای وابستگیهای همزمان.
Idempotence: اجباری برای بازپرداخت ؛ از کلیدهای idempotency استفاده کنید.
عقب نشینی نمایشی + لرزش: مانع از اثرات شفت همزمان می شود.
بودجه بازپرداخت: caps per-request/tenant، حفاظت در برابر «طوفان های مجدد».
7) سیگنال های وضعیت و هشدار
سبز/زرد/قرمز: وضعیت خلاصه در داشبورد خدمات.
هشدار سوختگی توسط SLO: سریع (1 ساعت) و آهسته (6-24 ساعت).
نکات مرتبط: انتشار/ویژگی پرچم/یادداشت فعالیت برنامه.
اقدامات خودکار: با بررسی عمیق «قرمز» - بازگشت مجدد ارائه دهنده را روشن کنید، نمونه برداری از آهنگ ها را افزایش دهید.
8) استراتژی های هوشمند برای iGaming
آمادگی پرداخت آگاه: آمادگی خدمات شرط بندی طول می کشد به حساب وضعیت روتر PSP و محدودیت در بانک ها/GEO.
انتشار شانس/خطوط: آمادگی در ناشر بستگی به تأخیر خلاصه توسط منبع خط و زمان توزیع در کش/edge دارد.
پیک های مسابقات: یک سیاست موقت تشخیص تهاجمی تر و اتاق انتظار.
9) ضد گلوله
Liveness، که به پایگاه داده/PSP → راه اندازی مجدد جرم برای یک مشکل خارجی می رود.
یک نقطه پایانی سلامت «جهانی» بدون شروع/آمادگی/زندگی جدایی.
زمانهای سخت بدون عقب نشینی/jitter → طوفان retray.
بدون هیسترزیس → مسیریابی flapping.
بررسی عمیق، که باعث راه اندازی مجدد می شود (هدف آن تشخیص و مسیریابی است، نه راه اندازی مجدد).
پنهان 5xx در نقاط پایانی سلامت (پوشش وضعیت واقعی).
10) قالب های رابط
/ startupz → '200 OK {"uptimeSec": ..., "نسخه": "...'} '
چک: اسکریپت init, مهاجرت تکمیل, کلید و پیکربندی لود شده.
/ healz (زنده بودن) → '200 OK {«heapOk «: true, «fdOk «: true,» eventLoop»:» ok»} '
چک: چرخه حوادث، منابع فرایند، عدم وجود پرچم وحشت/oom.
/ readyz (آمادگی) →
«200 OK/503 {» canServe «: درست،» db «: {» ok «: درست،» latencyMs «: 12}،» cache «: {» ok «: درست}،» صف «: {» ok «: درست،» lag «: 0}،» localQuota «: {» ok «: درست}»
/ بهداشت/پرداخت (عمیق) →
'200/206/503 {' psp. eu «: {«خوب «: غلط، «دلیل»:» اتمام وقت»}، «psp. alt ": {"ok": درست}، "routerMode ":" failover"} '
11) معیارهای کیفیت مدار سلامت (KPI/KRI)
زمان خروج غلاف از «NotReady» به «Ready» (warmup-SLO).
فرکانس آمادگی فلاپ در هر سرویس.
٪ به اشتباه راه اندازی مجدد غلاف (ریشه علت - وابستگی خارجی).
MTTR حوادثی که مکانیسم های بهداشتی نقش دارند (قبل/بعد از آن).
Share of automatic failover/feature-degrade without on-call.
دقت مصنوعی در مقابل RUM (مثبت کاذب/misses).
12) نقشه راه پیاده سازی (4-8 هفته)
«ند». 1-2: موجودی مسیر بحرانی ؛ پست راه اندازی/زندگی/آمادگی ؛ پاسخ های JSON را با چک های فرعی و هیسترزیس وارد کنید.
«ند». 3-4: اضافه کردن عمیق چک: پایگاه داده/کش/کارگزار ؛ مصنوعی برای ورود/سپرده/شرط بندی در 2-3 GEO ؛ فعال کردن تشخیص بیرونی در دروازه/mesh.
«ند». 5-6: آمادگی پرداخت и PSP-fallback ؛ اتاق انتظار جبهه ؛ autoscaling توسط تاخیر/صف ؛ هشدار توسط نرخ سوختگی.
«ند». 7-8: روزهای هرج و مرج (غیرفعال کردن کپی PSP/پایگاه داده)، چک کردن عقب/jitter ؛ پایان زمان نهایی، PDB ؛ گزارش KPI و اصلاح
13) مصنوعات
مشخصات بهداشتی (در هر سرویس): لیست چک ها، بودجه زمانی، هیسترزیس، اقدامات با وضعیت قرمز.
Runbooks: «آمادگی = FALSE: چه کاری انجام می دهیم ؟ «، «PSP-fallback: مراحل و معیارهای بازگشت».
سیاست مسیریابی: قوانین تشخیص بیرونی، قطع کننده مدار، آستانه درصد.
Synthetic Playbook: اسکریپت ها و جغرافیا، SLO synthetics، برنامه.
Release Gate: بلوک های آزاد را با وابستگی های کلید قرمز عمیق بررسی کنید.
نتیجه گیری
یک حلقه بررسی سلامت به خوبی طراحی شده یک سیستم لایه ای از سیگنال ها است: زندگی آسان برای زنده ماندن فرآیند، آمادگی برای قابلیت خدمات ترافیک، راه اندازی برای شروع امن و بررسی عمیق دامنه برای تخریب و مسیریابی مدیریت شده. در ارتباط با autoscaling، outlier-routing، synthetics و هشدار SLO، خطر شکست آبشار را کاهش می دهد، MTTR را کاهش می دهد و مسیرهای بحرانی کسب و کار سیستم عامل های iGaming را تثبیت می کند.