GH GambleHub

عملیات و هشدار → مدیریت توسط ظرفیت سیستم

هشدار ظرفیت سیستم

1) چرا شما به آن نیاز دارید

هشدارهای خازنی از نزدیک شدن به محدودیت های فنی طولانی قبل از حادثه هشدار می دهند: "ما 80٪ از سقف است - زمان مقیاس است. "برای کسب و کارهای مواد غذایی، این به طور مستقیم در مورد پول است: شرط های از دست رفته/سپرده، قطره جلسه، تاخیر در بازی زنده و شکست ارائه دهنده = درآمد از دست رفته، شهرت، جریمه و بازپرداخت.

اهداف:
  • به طور قابل پیش بینی در برابر بارهای پیک (رویدادها، مسابقات، جریان ها، کمپین های بزرگ) مقاومت می کند.
  • مقیاس خودکار را در زمان روشن کنید و ظرفیت برنامه را افزایش دهید.
  • سر و صدا را کاهش دهید و زمانی که SLO/پول در معرض خطر است، از خواب بیدار شوید.
  • مهندسان توصیه های دقیق را از طریق runbook ارائه می دهند.

2) مفاهیم اساسی

ظرفیت: حداکثر توان پایدار (RPS/TPS، اتصالات، IOPS، توان).
Headroom: حاشیه بین بار فعلی و محدودیت ها.
SLO/SLA: سطح هدف در دسترس بودن/زمان پاسخ ؛ هشدارها باید «SLO آگاه» باشند.
Burn-rate: سرعت «سوزاندن» بودجه SLO خطاها/تأخیر.
علامت بالا/پایین: سطوح بالا/پایین برای فعالیت و بازیابی خودکار.

3) معماری سیگنال و منابع داده

تله متری: معیارهای (Prometheus/OTel)، سیاهههای مربوط (ELK/ClickHouse)، ردیابی (OTel/Jaeger).
رویکرد لایه: هشدار توسط لایه ها (لبه → API → خدمات کسب و کار → صف/جریان → پایگاه داده ها/کش → فایل/فروشگاه شیء → ارائه دهندگان خارجی).
زمینه: پرچم های ویژگی، انتشار، کمپین های بازاریابی، مسابقات، هماهنگی جغرافیایی.
تایر حادثه: Alertmanager/PagerDuty/Opsgenie/Slack ؛ اتصال به runbook و ماتریس تشدید.

4) معیارهای کلیدی توسط لایه (چه برای نظارت و چرا)

لبه/L7

RPS، تاخیر 95-/99 درصد، میزان خطا (5xx/4xx)، اتصالات باز.
محدودیت نرخ/سهمیه، قطره на CDN/WAF/فایروال.

API- шлюз/Backend-for-Frontend

اشباع توسط کارگر/استخر کار، درخواست صف، timeouts به downstreams.
کسر تخریب (سقوط، قطع کننده مدار).

صف/جریان (کافکا/خرگوش/پولسار)

تاخیر/مصرف کننده تاخیر، نرخ رشد انباشته، توان (msg/s، MB/s).
انحراف پارتیشن، تعادل مجدد تعادل، ISR (برای کافکا)، retray/پدربزرگ-بعد.

کارگران ناهمزمان

اتمام کار، طول صف، درصد وظایف SLA منقضی شده.
اشباع CPU/حافظه/FD در استخر.

حافظه های پنهان (Redis/Memcached)

نسبت ضربه، تاخیر، اخراج، حافظه استفاده شده، مشتریان متصل/ops/s.
خوشه ها: اسلات/کپی، رویدادهای شکست خورده.

БД (PostgreSQL/MySQL/ClickHouse)

اتصالات فعال در مقابل حداکثر، انتظار قفل، تاخیر تکرار، ضربه بافر/کش.
IOPS، خواندن/نوشتن تاخیر، ایست بازرسی/خیط و پیت کردن، نفخ/تکه تکه شدن.

ذخیره سازی شیء/فایل

PUT/GET تاخیر، 4xx/5xx، خروج، درخواست/ثانیه، محدودیت ارائه دهنده.

ارائه دهندگان خارجی (پرداخت/LCC/ارائه دهندگان بازی)

محدودیت TPS, پنجره های QPS, نرخ خطا/اتمام وقت, retray صف, «هزینه هر تماس».

زیرساخت

CPU/حافظه/FD/IOPS/اشباع شبکه در گره/غلاف/ASG.
رویدادهای HPA/VPA، غلاف های در حال انتظار، OOM/Throttling کانتینر.

5) انواع هشدارهای خازنی

1. آستانه های استاتیک

ساده و سرراست: 'db _ connections> 80% max'. به عنوان يه سيگنال خوبه

2. آستانه تطبیقی (پویا)

بر اساس فصلی و روند (پنجره های نورد، تجزیه STL). اجازه دهید گرفتن «غیر معمول بالا برای این ساعت/روز هفته».

3. SLO گرا (نرخ سوختن)

آنها زمانی ایجاد می شوند که نرخ خوردن بودجه خطا SLO را در افق ساعت X به خطر می اندازد.

4. پیش بینی (پیش بینی هشدار)

«پس از 20 دقیقه در روند فعلی، صف به 90٪ خواهد رسید». پیش بینی خطی/مقاوم/پیامبر مانند در پنجره های کوتاه استفاده می شود.

5. چند سیگنال

Trigger with the combination: 'queue _ lag' ↑ + 'consumer _ cpu 85%' + 'autoscaling at max' → 'manual intervention is needed'.

6) سیاست های آستانه و ضد سر و صدا

علامت بالا/پایین:
  • بالا: هشدار 70-75٪، کرت 85-90٪. پایین: هیسترزیس 5-10 pp به منظور «دید در آستانه».
پنجره های زمان و فشرده سازی:
  • "برای: 5m" برای معیار، برای: 10-15m "برای هشدار. حالت شب: مسیر غیر بحرانی برای چت بدون صفحه بندی.
گروه بندی رویداد:
  • گروه خدمات/خوشه/جغرافیایی به طوری که برای تولید کارت های حادثه.
سرکوب وابستگی آگاهانه:
  • اگر ارائه دهنده KYC خارج شده باشد و خطاهای API به دلیل صفحه بندی مالک ادغام باشد، نه همه مصرف کنندگان.
پنجره های زمان بازاریابی:
  • در طول دوره سهام، آستانه سر و صدا را برای «رشد مورد انتظار» افزایش دهید، اما هشدارهای SLO را دست نخورده بگذارید.

7) مثال قانون (شبه پرومتئوس)

اتصالات DB:

ALERT PostgresConnectionsHigh
IF (pg_stat_activity_active / pg_max_connections) > 0. 85
FOR 5m
LABELS {severity="critical", team="core-db"}
ANNOTATIONS {summary="Postgres connections >85%"}
تأخیر کافکا + مقیاسبندی خودکار در حد:

ALERT StreamBacklogAtRisk
IF (kafka_consumer_lag > 5_000_000 AND rate(kafka_consumer_lag[5m]) > 50_000)
AND (hpa_desired_replicas == hpa_max_replicas)
FOR 10m
LABELS {severity="critical", team="streaming"}
سوزاندن نرخ SLO (تاخیر API):

ALERT ApiLatencySLOBurn
IF slo_latency_budget_burnrate{le="300ms"} > 4
FOR 15m
LABELS {severity="page", team="api"}
ANNOTATIONS {runbook="wiki://runbooks/api-latency"}
حافظه Redis و evikshens:

ALERT RedisEvictions
IF rate(redis_evicted_keys_total[5m]) > 0
AND (redis_used_memory / redis_maxmemory) > 0. 8
FOR 5m
LABELS {severity="warning", team="caching"}
ارائه دهنده پرداخت - محدودیت ها:

ALERT PSPThroughputLimitNear
IF increase(psp_calls_total[10m]) > 0. 9 psp_rate_limit_window
FOR 5m
LABELS {severity="warning", team="payments", provider="PSP-X"}

8) رویکرد SLO و اولویت کسب و کار

از سیگنال به تاثیر کسب و کار: هشدار ظرفیت باید خطر را به SLO (بازی های خاص/معیارهای جغرافیایی/GGR، تبدیل سپرده) ارجاع دهد.
چند سطحی: هشدار برای سرویس در تماس ؛ کرت - صفحه مالک دامنه ؛ SLO-drop - حادثه بزرگ و کانال «خلاصه» تیم.
ویژگی های تخریب: کاهش بار اتوماتیک (فقط خواندن جزئی، کاهش ویژگی های سنگین، کاهش فرکانس پخش جکپات، خاموش کردن انیمیشن های «سنگین» در بازی های زنده).

9) خودکار مقیاس بندی و «درست» باعث می شود

HPA/VPA: هدف نه تنها توسط CPU/حافظه، بلکه با معیارهای کسب و کار (RPS، تاخیر صف، تاخیر P99).
زمان های گرم شدن: محدودیت های شروع سرد و ارائه دهنده را در نظر بگیرید (اسپین آپ ASG، سازندگان کانتینر، انبارهای گرم).

Guardrails: شرایط توقف در رشد بهمن مانند اشتباهات ؛ حفاظت در برابر «مشکل اسکالیم»

Capacity-playbooks: کجا و چگونه یک shard/party/replica اضافه کنید، نحوه توزیع مجدد ترافیک بر اساس منطقه.

10) فرآیند: از طراحی تا عملیات

1. نقشه برداری محدود: جمع آوری محدودیت های تنگنا «واقعی» برای هر لایه (حداکثر اتصال، IOPS، TPS، ارائه دهندگان سهمیه).
2. انتخاب معیارهای پیش بینی کننده: کدام سیگنال ها ابتدا «استراحت در N دقیقه» را نشان می دهند.
3. طراحی آستانه: بالا/پایین + SLO-burn + ترکیب.
4. Runbook برای هر کرت: مراحل تشخیصی («چه چیزی برای باز کردن»، «چه دستورات»، «جایی که برای تشدید»)، سه گزینه برای عمل: پیمایش سریع، پوسته پوسته شدن، تخریب.
5. تست: شبیه سازی بار (هرج و مرج/روز بازی)، شروع خشک هشدار، چک کردن ضد سر و صدا.
6. بررسی و تصویب: صاحب سیگنال = صاحب سرویس. بدون صاحب - بدون صفحه.
7. بازنگری و تنظیم: تجزیه و تحلیل هفتگی نادرست/از دست رفته ؛ متریک «MTTA (ack)، MTTD، MTTR، نسبت نویز/سیگنال».

11) ضد الگوهای

CPU> 90٪ وحشت ⇒: بدون ارتباط با تأخیر/صف، این ممکن است طبیعی باشد.
«یک آستانه برای همه»: مناطق مختلف/مناطق زمانی - پروفایل های مختلف ترافیک.
Alert without runbook: صفحه بدون عمل روشن بر روی تماس تخلیه می شود.
نابینایی به ارائه دهندگان: سهمیه/محدودیت های خارجی اغلب برای اولین بار به «شکستن» اسکریپت (PSP، KYC، ضد تقلب، ارائه دهندگان بازی).
بدون هیسترزیس: «اره» در مرز 80 ٪/79٪.

12) ویژگی های iGaming/سیستم عامل های مالی

قله برنامه: زمان نخست، فینال مسابقات، مسابقات بزرگ ؛ ترویج کپی هدف و پر کردن مخازن در پیشبرد.
جریانهای زنده و جکپات: انفجار رویدادهای پخش → محدودیت در کارگزاران/وب سایت ها.
پرداخت و KYC: پنجره های ارائه دهنده، امتیاز ضد تقلب ؛ مسیرهای یدکی و سپرده های «grace-mode» را نگه دارید.
Geo-balance: شکست های ارائه دهنده محلی - برای هدایت ترافیک به یک منطقه همسایه که در آن یک سر و صدا وجود دارد.
مسئولیت: در معرض خطر از دست دادن شرط/jackpots - صفحه فوری به تیم دامنه + هشدار کسب و کار.

13) داشبورد (حداقل مجموعه)

بررسی اجمالی ظرفیت: headroom توسط لایه، بالا 3 مناطق مخاطره آمیز، سوزاندن نرخ SLO.
جریان و صف: تاخیر، رشد انباشته، اشباع مصرف کننده، حالت HPA.
DB & Cache: اتصالات، repl-lag، تاخیر p95/p99، نسبت ضربه، اخراج.
ارائه دهندگان: TPS/ویندوز/سهمیه بندی، زمان بندی/خطاها، هزینه تماس.
زمینه انتشار/ویژگی: releases/phicheflags در کنار منحنی ها.

14) چک لیست پیاده سازی

  • فهرست محدودیت ها و صاحبان «واقعی».
  • پیش بینی متریک نقشه + بین لایه انجمن.
  • آستانه استاتیک + هیسترزیس.
  • هشدار سوزاندن SLO در مسیرهای بحرانی (سپرده، شرط، راه اندازی بازی زنده).
  • هشدار پیش بینی در صف/جریان/اتصالات.
  • سرکوب/نگهداری پنجره ؛ سیاست ضد سر و صدا
  • Runbook "و با دستورات، نمودارها، فیلترهای تخریب.
  • تجزیه و تحلیل هفتگی مثبت کاذب و تنظیم.
  • حساب برای کمپین های بازاریابی و تقویم رویداد.

15) الگوی runbook مثال (به صورت مختصر)

سیگنال: «StreamBacklogAtRisk»

هدف: برای جلوگیری از رشد تاخیر> 10 میلیون و تاخیر درمان> 5 دقیقه.

تشخیص (3-5 دقیقه):

1. «hpa _ desired/max»، دریچه گاز/کف در چاله ها را بررسی کنید.

2. نمایش 'نرخ (تاخیر)'، پارتیشن بندی (انحراف).

3. بررسی کارگزار (ISR، زیر تکرار، شبکه).

فعالیت ها:
  • افزایش کپی مصرف کننده توسط + N، افزایش حداکثر در پرواز.
  • استخر اولویت را در «موضوعات مهم» فعال کنید.
  • به طور موقت فرکانس درمان های ثانویه/غنی سازی را کاهش می دهد.
  • اگر 'ASG در حداکثر' - درخواست ارتقاء موقت از ابر ؛ به طور موازی - امکان تخریب توابع سنگین را فراهم می کند.
  • بازگشت: بازگشت به مشخصات ترافیک عادی پس از 'تاخیر <1 میلیون' 15 دقیقه.
  • تشدید: مالک خوشه کافکا، سپس پلت فرم SRE.

16) KPI و کیفیت سیگنال

پوشش:٪ از مسیرهای بحرانی بسته شده توسط هشدار خازنی.
سر و صدا/سیگنال: بیش از 1 صفحه نادرست در هر تماس/هفته.
MTTD/MTTR: حوادث خازنی ≤5 دقیقه قبل از حملات SLO شناسایی می شوند.
Proactive saves: تعداد حوادثی که از آنها جلوگیری می شود.

17) شروع سریع (پیش فرض محافظه کار)

DB: هشدار 75٪ اتصالات/IOPS/lat ؛ کرت 85٪، هیسترزیس 8-10 pp

Caches: 'ضربه <0. 9 'و' اخراج> 0 '> 5 دقیقه - هشدار ؛' used _ mem> 85٪ '- کرت.
صف: 'تاخیر' ارتفاع> 3 σ از متوسط برای 30D + 'HPA در حداکثر' - کرت.
API: 'p99> SLO1. 3 '10 دقیقه - هشدار ؛' نرخ سوختن> 4 '15 دقیقه - کرت.
ارائه دهندگان: 'توان> 90٪ سهمیه' - هشدار ؛ 'timeouts> 5%' - کرت.

18) سوالات متداول

س: چرا فقط «CPU> 80٪» نیست ؟

A: بدون تاخیر/زمینه صف، سر و صدا است. CPU به خودی خود برابر با خطر نیست.

س: آیا ما نیاز به آستانه تطبیقی داریم ؟

A: بله، برای فصلی روزانه/هفتگی - مثبت کاذب را کاهش دهید.

س: چگونه بازاریابی/رویدادها را در نظر بگیریم ؟

A: تقویم کمپین → حاشیه نویسی در نمودار + تنظیم موقت ضد سر و صدا، اما هشدارهای SLO را لمس نکنید.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.