Avtoskeyling va SLA balansi
Avtoskeyling va SLA balansi
1) Maqsad va prinsiplar
Avtoskeylingning maqsadi - SLO (yashirin/ochiq) ni minimal narxda saqlash.
SLA, SLO, SLA Cost: biz «cheksiz» masshtabni ta’qib qilmaymiz - xatolar va pul limitlari byudjeti doirasida.
Yuklamaning ochiq modeli: kelayotgan so’rovlar’λ’intensivlik oqimini shakllantiradi; tizim o’rtacha parallellikni ta’minlashi kerak’N ≈ λ × W’(Littl qonuni), bu erda’W’- xizmat ko’rsatishning o’rtacha vaqti.
2) Triggerga qanday metriklar mos keladi
Texnik:- CPU/RAM/IO (toʻyinish uchun proxy).
- Raqobatbardoshlik (in-flight) va pool wait.
- p95/p99 application latency (SLOni haqiqiy aks ettiradi).
- RPS/arrival rate (talabnomalar tezligi).
- Navbatlar: xabarlarning chuqurligi, yoshi, ishlash tezligi.
- Muvaffaqiyatli tranzaksiyalar ulushi ≤ T sek (depozitlar, chek-aut).
- Operatsiyalarni tasdiqlash vaqti.
Tavsiya: xizmatlar uchun latency + pools va vorkerlar uchun queue depth + age kabi 2-3 signalni birlashtirish.
3) Reaktiv vs taxminiy skeyl
Reaktiv (feedback): HPA/ASG faktik replikalarni oshiradi/kamaytiradi. Oddiy, lekin lag bor.
Taxminiy (feed-forward): taqvim/o’tgan telemetriya/market-iventlar. Pre-warm ni o’z ichiga oladi: N instansiyalarini Δ t dan cho’qqiga ko’tarish.
Amalda: gibrid - baseline (minimal), hodisalar oldidan bashorat qiluvchi bust, reaktiv olib keladi.
4) Skeyl siyosati va barqarorlik parametrlari
Maqsadli tracking: Metrikani maqsadga yaqin saqlash (masalan, CPU 60%).
Step scaling: ortiqcha qadamlar (paypoqlarda tajovuzkor).
Stabilization window/cooldown: flappingni tekislash (masalan, 60-180 sek).
Min/Max: pastki va yuqori chegaralar; max - DB/provayder limitlari doirasida.
5) Darajalarni muvofiqlashtirish (arxitektura kaskadi)
1. Perimetr/API-shlyuz - elastik, lekin limit va backpressure bilan.
2. Services - HPA by latency/RPS/pool wait.
3. Navbatlar/vorkerlar - KEDA/ASG xabarlarning chuqurligi/yoshi bo’yicha.
4. DB/kesh - ehtiyotkorlik bilan ko’paytirish (replika/shardalash), oldindan.
Qoida: Dasturni «maʼlumot» ga qarshi turishdan tezroq kattalashtirmang.
6) Navbatlar va Littl qonuni (vorkerlarni qanday hisoblash kerak)
’λ’ (msg/s) kirish va’W’(s) ishlov berishning o’rtacha vaqti bilan navbat uchun:- Kerakli parallellik:’N _ min ≈ λ × W’.
- Pik/dumlar bo’yicha zaxirali:’N ≈ λ × W × (1. 2–1. 5)`.