Logo GH

Operatsiyalar va Boshqaruv → Operatsion infratuzilmani ko’paytirish

Operatsion infratuzilmani ko’paytirish

1) Nima uchun va nimani «masshtablash» deb hisoblash kerak

Masshtablash - bu platformaning o’tkazish qobiliyatini (RPS/TPS, konnektlar, IOPS, throughput) va ma’lumotlar hajmini SLO yo’qotmasdan va nazorat qilinadigan tannarxga ega bo’lgan tizimli qobiliyatidir. iGaming/fintech uchun bu to’g’ridan-to’g’ri pul haqida: depozitlar/stavkalar konvertatsiyasi, live-o’yinlar va hisob-kitoblar.

Maqsadlar:
  • SLOni yuklamaning X baravar o’sishi va mavsumiy cho’qqilarda ushlab turish.
  • Taxminiy kattalashtirish vaqtini (minutes, not hours) taʼminlash.
  • Iqtisodiyotni saqlash: cost/RPS, cost/tranzaksiya, cost/1k hodisalar.

2) Kengaytiriladigan platforma prinsiplari

1. Gorizontal-birinchi: kichik, stateless-servislarga bo’lish; holat - ma’lumotlar klasterlarida.
2. Back-pressure va navbatlar: portlashlarni tekislash, «bo’ronlar» dan himoya qilish.
3. Hamma qatlamlarda kesh qilish: client/edge/service/DB.
4. Idempotentlik va takrorlanuvchanlik: xavfsiz retralar, outbox, dedup.
5. Cheklovlar bilan bog’liqlik: taymautlar, breykerlar, bulkhead-izolyatsiya, rate-limits.
6. Signallar bo’yicha kuzatish qobiliyati: headroom, p95/p99, lag, konnektlar, kvotalar.
7. HPA/VPA/Cluster Autoscaler + to’xtash shartlari.
8. Multi-region by design: mustaqil blast zonalar, lokal maʼlumotlar, barqaror fayloverlar.

3) Capacity planning: «qancha hisoblash kerak»

Model kirishlari: maqsadli eng yuqori TPS, trafik profili (soatbay), «kritik yo’llar», kesh-xit koeffitsiyentlari, o’rtacha payload’lar, SLO va provayderlar limitlari.

Tezkor baholar (rule-of-thumb):
  • RPS → CPU/pod:’pod = RPS p99_time/samarali _ CPU _ pod’(30-50% zaxirali).
  • Navbatlar:’minimal _ tezlik _ konsumerlar ≥ eng yuqori _ tezlik _ prodyuserlar 1. 2`.
  • DB konnektlari:’max _ conns = aktiv _ polar _ servislar oʻrta _ pool _ size 1. 3`.
  • Kesh: hajmi = «N daqiqa uchun issiq working-set» + 20-30% zaxira.
  • Egress/CDN: so’rovlarning cho’qqisi egress = so’rovlarning cho’qqisi javobning o’rtacha o’lchami (kompresssiyani hisobga olish).

Headroom: maqsad 20-40% choʻqqida (qatlamlar boʻyicha). Quyidagi 15% → trigger «capacity uplift».

4) Ko’paytirish qatlamlari va patternlari

4. 1 Edge / CDN / WAF

Chetda keshlash (TTL + SWR), geo-balans, siqish, HTTP/2/3.
Rate-limits IP/JWT/kaliti bo’yicha perimetrda, portlashlardan himoya qilish.
Brokerlar/pub/sub kanallari orqali fan-aut hodisalar (jekpotlar, live-ogohlantirishlar).

4. 2 API-shlyuz/Backend-for-Frontend

Statles-poda bo’yicha gorizontal masshtablash, daunstrimlarga dedicated pullar.
Biznes-metrlar bo’yicha HPA: RPS, p99, vork-pulda navbat - nafaqat CPU.

4. 3 Asinxron navbatlar/striming (Kafka/Rabbit/Pulsar)

Partiyalar va konsumerlar bo’yicha ko’lami; skew (kalitlar va taqsimlash) dan qochish.
Lag-alertlar + konsumerlarni avto-masshtablash; DLQ va retry-topiklar.
Retention SLA rekonsilatsiya va replay ostida.

4. 4 Keshlar (Redis/Memcached)

Klaster rejimlari, replikalar, eviction-siyosatlar (LFU), multiget, pipeline.
Hot-key’lar va fon vazifalarini ajratish, mijozlar limitlari va max-memory policy.

4. 5 Ma’lumotlar bazasi

O’qish nusxalari va routing, connection pooling.
Mintaqa/tenant/kalitlar diapazoni boʻyicha shardlash.
CQRS: yozuv - master/lider, oʻqish - replika.
Indekslash va betch yozish mashqlari (outbox → stream → sink).
Arxivlash va issiq/sovuq ma’lumotlar (tiering).

4. 6 Fayl/obyekt saqlovchilari

Ko’p oqimli, multipart yuklash, CDN-front, asinxron transformatsiyalar.
Provayder kvotalari, «dumlarini» tozalash va egress budjeti.

4. 7 Provayderlar (PSP/KYC/studiyalar)

Kvotalar/SLO/qiymati bo’yicha multi-vendor va marshrutlash.
Har bir provayderga Circuit breaker + rate-limit, retraylar navbati, «grace-rejimlar».

5) Avto-masshtablash va gard-reylar

Kubernetes:
  • HPA: метрики `rps_per_pod`, `queue_depth`, `p99_latency`; `targetAverageValue`.
  • VPA: resurslar bo’yicha tavsiyalar; choʻqqidan tashqarida yangilash.
  • Cluster Autoscaler: nod-guruh profillari (spot + on-demand).
  • PodDisruptionBudget/TopologySpreadConstraints: zonalar boʻyicha bir tekislik.
  • LimitRange/ResourceQuota: «mast» deplolardan himoya qilish.
HPA psevdo-manifesti:

apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler spec:
scaleTargetRef: {apiVersion: apps/v1, kind: Deployment, name: api-gw}
minReplicas: 8 maxReplicas: 200 metrics:
- type: Pods pods:
metric:
name: rps_per_pod target:
type: AverageValue averageValue: "120"
- type: Pods pods:
metric:
name: p99_latency_ms target:
type: AverageValue averageValue: "280"
behavior:
scaleUp:
stabilizationWindowSeconds: 90 scaleDown:
stabilizationWindowSeconds: 300
Guardrails (misollar):
  • «Pause & Rollback», agar kanareykada p99> 1. 3 × bazeline 10 daqiqa.
  • «Freeze scale-down» praym-taymda, faqat scale-up.
  • ’open _ circuit = 1’ dagi’Stop retries’tor joylarga.

6) Multi-region: aktiv/aktiv va aktiv/passiv

Blast-izolyatsiya qilingan hududlar: mustaqil klasterlar, mahalliy sirlar/kvotalar.
Global routing: latency-/geo-based, health-probes, qoʻlda override.

Maʼlumotlar:
  • Issiq - lokal + eventual replikatsiya (oqim).
  • Kritik tranzaksiyalar - domen bo’yicha kelishilgan (ledger/balanslar).
  • Faylover pleybuklar: manbani bosqichma-bosqich almashtirish, TTL, keshni isitish.
  • Mashqlar reglamenti (DR): RTO/RPO maqsadli choraklik mashqlar.

7) Tarmoq va servis patternlari

Service Mesh: mTLS, retry/breaker, outlier detection, per-downstream limitlari.
eBPF/Observability L4/L7, ulanish limitlari, head-of-line himoyasi.
S2S uchun ichki API-shlyuzlar, umumiy rate-limit va audit.
VPC/blast-zonalar bo’yicha kichik tarmoqlar, NAT/Egress nazorati, vendorlar bilan peering.

8) Unumdorlik: testlar va dalillar

Praym taym + worst-case profiliga yuklash & stress.
Soak (uzoq vaqt) - xotira/deskriptor oqishi, latency o’sishi.
Chaos/game-days: broker/provayder/zonaning qulashi, «sekin provayder».
CIdagi perf regressiyalari: etalon stsenariylari va avtomatik geytlar to’plami.

Skriptlarning mini-matritsasi:
SkriptMaqsadChegara
Deposit TPS ×2To’lovlarning eng yuqori cho’qqisip99 ≤ 350 ms, SR ≥ 99. 5%
Jackpot BroadcastFan-outWS konnektlar ≤ 90% limit, dropsiz
KYC SlowdownTashqi provayderAvtodegradatsiya + feylover ≤ 2 min

9) Ma’lumotlar va omborlar: o’sish strategiyalari

«Shift» gacha vertikal o’sish → gorizontal/sharding.
Oʻqish → replika/kesh; → batchi/asinxron/jurnal yozuvlari.
Sxemalarni koʻchirish: expand → migrate → contract, global blokirovkasiz.
Arxivlash: sovuq partiyalar arzon omborxonada + on-demand re-gidratsiya.
Qidirish: alohida indekslar (OpenSearch/Solr).

10) Provayderlar va kvotalarni boshqarish

Kvota xaritasi (TPS, derazalar, qiymat); alerty’usage _ ratio> 0. 9`.
Qiymati/sifati bo’yicha routing (smart routing).
va kvotalarni oshirish jarayoni.
Muqobil pullar va «issiq» almashtirish.

11) Kuzatish va ko’paytirish signallari

Metrika (minimal):
  • Capacity headroom по слоям; `queue_lag/backlog growth`; `kafka ISR`; `db connections`/`repl lag`; `redis evictions`; `open_circuit`/`retry_rate`; `quota_usage`.
  • Biznes-metrika: success rate/depozit konvertatsiyasi, o’yinni boshlash vaqti.
  • Qiymati: cost/RPS, cost/1k calls.
Dashbordlar:
  • Capacity Overview (headroom, top-risklar, burn-rate SLO).
  • Stream & Queue Panel (lag/backlog, consumer saturation).
  • DB & Cache (p99, konnektlar, hit/evictions).
  • Providers & Quotas (TPS, timeouts, qiymat, almashtirish).
  • Change Safety (relizdan oldin/keyin, kanareyka, avtogeytlar).
Alertlar (g’oyalar):

ALERT HeadroomLowAPI
IF capacity_headroom{layer="api"} < 0. 15 FOR 10m

ALERT KafkaBacklogAtRisk
IF (consumer_lag > 5e6 AND rate(consumer_lag[5m]) > 5e4) AND (hpa_desired == hpa_max) FOR 10m

ALERT DBConnectionsNearMax
IF active_conns / max_conns > 0. 85 FOR 5m

ALERT ProviderQuota90
IF usage_quota_ratio > 0. 9 FOR 5m

12) FinOps: ko’paytirish foydali

Samaradorlik koeffitsiyentlari: cost/RPS, cost/depozit, cost/1k hodisalar.
Right-sizing: VPA/tavsiyalar, «over-provisioned» bo’yicha hisobotlar.
Tanqidsiz uchun Spot/Preemptible; Asosiy yuk uchun Reserved/Committed.
Egress-budjet va keshlash, CDN/edge-ofload.
Loglarni qiymatiga koʻra yigʻish va arxivlash (hot vs cold).
Ogohlantirish kvotalari (soft-cap) va kengayish uchun avto-chiptalar.

13) Jarayonlar va odamlar

Change Management: kanareykalar, ficheflaglar, regressiyalarni toʻxtatish.
Hodisaga tayyorlik: runbook’i «sig’imni qayerda qo’shish kerak», «mintaqani qanday almashtirish kerak».
Cho’qqilarni rejalashtirish: o’yinlar/turnirlar/kampaniyalar taqvimi va provayderlar oynalari.
Muntazam game-days va DR-mashqlar.
Egalik matritsasi: kim feyloverga «tugmani bosishi »/kvotalarni oshirishi mumkin.

14) Joriy etish chek-varaqalari

Bazaviy miqyoslanuvchanlikni ishga tushirish (2-4 hafta):
  • Kritik yo’llar va limitlar xaritasi (qatlamlar bo’yicha), headroom maqsadi ≥ 30%.
  • Biznes-metriklar bo’yicha HPA + Cluster Autoscaler; PDB/SpreadConstraints.
  • Issiq yo’llarda navbatlar, idempotency-keys, outbox.
  • Keshlar: hit-maqsadlar ≥ 90%, evictions siyosati, asosiy indekslar.
  • DB: o’qish nusxalari, konnektlar hovuzi, sharding rejasi.
  • Provayderlar: multi-vendor, kvotalar, breykerlar/retralar.
  • «Capacity/Stream/DB/Providers» dashbordlari, § 11 dagi alertlar.
  • Kanareyka va avtogeytlar «chiqarilishdan oldin/keyin».
  • DR-pleybuk va bitta qisman feylover trening.
Katta choʻqqidan oldin:
  • Keshni isitish, HPA/ASG pre-skeyl, warm-standby replikasi.
  • Provayderlar kvotalarini oshirish, smart-routing.
  • Nekritik alertlar uchun night-mode bosimini yoqish.
  • «safe mode» ficheflagini ishga tushirishga tayyor.

15) Anti-patternlar

Gorizontal o’rniga vertikal «to’g’ridan-to’g’ri» yangilash.
Barcha daunstrimlar uchun umumiy oqim/ulanish puli (head-of-line).
Tor joylardagi taymautlarda retralar, jitter yo’qligi → bo’ron.
Alert va scale siyosatida gisterezis yo’q → «kesish».
Sharding va ma’lumotlarni mahalliylashtirmasdan yagona global MA.
Vendorning SDKsiga ko’r-ko’rona ishonish vaqtni/retraut/kuzatishni nazorat qilmasdan.
DR mashqlari yo’qligi: feylover «faqat qog’ozda».

16) Masshtablanish KPI

Eng yuqori cho’qqida SLO (p95/p99, success rate).
Praym taymdagi qatlamlar boʻyicha headroom.
MTTS (Mean Time To Scale) - qo’shimcha resurslar paydo bo’lgunga qadar.
Backlog/Lag Resolution Time - eng yuqori pog’onadan so’ng navbatlar qulagan vaqt.
Change Failure Rate - faol oʻsish davri.
Cost/RPS va cash/CDN/edge-ofloaddan tejash.
DR Readiness: Mashqlarda RTO/RPO.

17) «Tez» shablon namunalari

Kafka: konsumerlarni partiyalash va avtoskeyl (g’oyalar):

partitions(topic="bets") = ceil(peak_msgs_per_sec / target_msgs_per_partition)
consumers = min(partitions, max_pods); rebalance_on: skew > 1. 5x scale_up_if: lag > 5e5 && rate(lag[5m]) > 5e4
PostgreSQL:

max_connections = poolers pool_size 1. 3 read_routing: primary (write), replicas (read majority)
shard_key: tenant_id or region_id
Redis:

maxmemory-policy: allkeys-lfu cluster-replicas: 1 evict-alert: rate(evictions[5m]) > 0 && used_mem/limit > 0. 8
Kanareych avtogeyt siyosati (konspekt):

guardrails:
- metric: api_p99_ms, threshold: 1. 3 baseline_1d, window: 10m, action: pause_and_rollback
- metric: error_rate, threshold: 2 baseline_1d, window: 5m, action: pause max_step: 10%
step_interval: 15m

18) FAQ

Q: Birinchi bo’lib nimani ko’paytirish kerak?
A: Dashbord ma’lumotlari bo’yicha tor joylar: navbatlar/kesh/DB o’qish. Issiq yo’llar (depozit/stavka/o’yinni boshlash) - ustuvor vazifa.

Q: Avto-masshtablash «yomonlashtirishini» qanday tushunish mumkin?
A: Korrelyatsiyaga qarang: scale-up ↑ va p99/xatolar yaxshilanmaydi - ehtimol siz «muammoni ko’paytirasiz». Breykerlar/degradatsiyani yoqing.

Q: Har doim ikkinchi provayder kerakmi?
A: Tanqidiy yo’llar uchun - ha. Aks holda, hech bo’lmaganda soddalashtirilgan skript va kesh bilan «safe mode».

Q: Active-active или active-passive?
A: Agar RTO talablari past bo’lsa va mintaqaviy o’yinchilar ko’p bo’lsa - active-active. Aks holda, ishlatilgan feylover bilan active-passive bilan boshlang.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.