GH GambleHub

Ochiqlik zonalari va kross-mintaqalar

1) Atamalar va maqsadlar

Kirish zonasi (AZ) - mintaqa ichidagi izolyatsiyalangan ma’lumotlar markazi (o’z quvvati/tarmog’i).
Mintaqa - umumiy geografiyasi va kechikishlari bo’lgan AZ guruhi.

Qayta tiklash maqsadlari:
  • RTO (Recovery Time Objective) - qancha vaqt xizmat ko’rsatmaslik mumkin.
  • RPO (Recovery Point Objective) - qancha ma’lumotlar yo’qolishi mumkin.

Odatda: mintaqa ichidagi RTO ≤ 5-15 daqiqa, RPO ~ 0-1 daqiqa, mintaqalararo - RTO ≤ 1 soat, RPO ≤ 5 daqiqa (mahsulot va byudjetga bog’liq).

2) Arxitektura modellari

2. 1 Mintaqa ichida (multi-AZ)

Stateless qatlam: AZ bo’yicha taqsimlangan; balanslash - health-checks bilan L4/L7.
Stateful-qatlam: AZ orasidagi sinxron replikatsiyali (yoki kvorumli) klasterlar.
Kesh/navbatlar: klaster, AZ shardlangan va avtomatik failover.

2. 2 Mintaqalararo (multi-region)

Active-Active: ikkala hudud ham trafikni qabul qiladi.

foydalanuvchilarga minimal latentlik, tez tiklanish; − konsistentlik va nizolarning murakkabligi.
Active-Passive (hot/warm): asosiy mintaqa xizmat ko’rsatadi, ikkinchisi - issiq/issiq kutish.

ma’lumotlar osonroq, arzonroq; − RTOdan yuqori.
Pilot-Light: minimal «chiroq» (ma’lumotlar sinxronlashtiriladi, hisoblash avariya paytida ochiladi).
DR-backup: faqat orqalar va tiklash stsenariysi (eng arzon va eng sekin).

3) Ma’lumotlar va konsistentlik

3. 1 Maʼlumotlar bazasi

Sinxron kvorumlar (RPO ≈ 0, ↑ latentlik): Mintaqa doirasida sinxron standbys bilan PostgreSQL; taqsimlangan DB (CockroachDB/Cassandra) lokal kvorumlar (Local Quorum) va AZ bo’yicha balanslash bilan.
Mintaqalararo asinxron (RPO> 0, ↓ latentlik): Postgres/MySQL mantiqiy replikatsiyasi; «global tables» в KV/NoSQL; CDC → boshqa mintaqaga oqim.
Qarama-qarshi yozuvlar: active-active uchun CRDT/version yoki «haqiqat manbai» strategiyasidan (leader-region per key/tenant) foydalaning.

3. 2 Event-sorsing va navbatlar

Navbatlar/oqimlar (Kafka/Pulsar/SQS-ga o’xshash): mirror-topics yoki kross-mintaqaviy replikatorlar; kalit - konsumerlarning idempotentligi va kalitlar bo’yicha dedup.
Vebxuklar va tashqi sheriklar: ikkala zonada ham imzo chekish, replay, offset/chek pointlarini saqlash.

3. 3 Kesh

Mahalliy per-region keshlari (write-through/refresh-ahead); global umumiy kesh faqat mustahkam KV uchun (aks holda split-brain). Hodisalar bo’yicha nogironlik (pub/sub), TTL - konservativ.

4) Global trafik va tarmoq konturi

GSLB/DNS: Geo-/Latency-based routing, health-checks, kanareykalar va avariyalar uchun «traffic-weights».
Anycast/Edge: Foydalanuvchiga kirishni yaqinlashtiring, so’ngra eng yaqin sog’lom mintaqaga.
Failover-siyosatchilar: mintaqaviy upstream pullari, tanqidiy yo’llarda 0-RTT taqiqlash, mintaqalararo qaramliklarga nisbatan past vaqtlar.
Retraj siyosati: eksponensial backoff + jitter, total-deadline cheklovi, idempotent PUT/POST s’Idempotency-Key’.

5) Kubernetes va servis-mesh

5. Bitta klasterda 1 Multi-AZ

topology spread constraints по `topology. kubernetes. io/zone`.
PodDisruptionBudget и priority classes.
NodeAffinity/Anti-Affinity - replikalarning kod joylashuvidan qochish.
Saqlash zonalari: AZ bo’yicha replikatsiya qilingan PV yoki taqsimlangan volume-tizimlar.

5. 2 Multi-region (multi-cluster)

Deklarativ sinxronlash uchun per-region + GitOps (Argo CD/Flux) alohida klasterlari.
Service Mesh (Istio/Linkerd): locality-aware load-balancing va failover; mTLS, umumiy o’ziga xoslik.
Traffic-shifting: bosqichma-bosqich 1% → 10% → 50% yangi mintaqaga; «0%» ruchkasi bir zumda.

6) RTO/RPOni tanlash va patternlarga bog’lash

PatternTipik RTONamunaviy RPOQayerda qoʻllash mumkin
Active-Activedaqiqa~ 0 daqiqa (CRDT/CDC)past yashirin global API
Hot Standby5-15 daqiqasoniya-daqiqatanqidiy B2C-servislar
Warm Standby15-60 mindaqiqa-soatb2b/operatsion quyi tizimlar
Pilot-Lightsoatsoatpast kritiklik/qiymat
Backup-onlykunlarsutkaarxiv/tahlil real-time emas

7) Nosozlikka chidamlilik testi (DR)

GameDays: har chorakda to’liq ko’lamli «mintaqa/AZ so’ndi» stsenariysi.
Chaos-inyeksiyalar: tarmoqdagi kechikishlar, paketlarni yo’qotish, broker/bazani bitta AZda o’chirish.
RTO/RPO haqiqiy: vaqtni o’zgartirish va ma’lumotlarni yo’qotishni o’lchang, hisobotni e’lon qiling.
Runbooks: bosqichma-bosqich ko’rsatmalar va almashtirish uchun «qizil tugmalar» (DNS weights, feature-flags, og’ir chiziqlarni o’chirish).

8) Kuzatuv va boshqaruv

Segzы metriki po region/AZ/tenant; p95/p99 yo’nalishlar bo’yicha yashirin.
SLO va Error Budgets mintaqa va global pulga.
Alerta: Bir mintaqaning tanazzulga uchrashi, agar ikkinchisi normal trafikka ega bo’lsa, peyjingni to’xtatmasligi kerak.
Трейсы: baggage `region`, `az`, `failover=true/false`; «failover’ga qancha so’rovlar o’tkazildi».

9) Xavfsizlik va muvofiqlik

Data residency: PII/to’lov ma’lumotlarini muayyan mintaqalarga bog’lash (yurisdiksiya).
Sirlar: KMS/smart-HSM kross-mintaqaviy kalitlar va rotatsiya bilan; per-region kalitlarini ajrating.
mTLS va hududlar o’rtasidagi o’zaro ishonch; ACL boʻyicha kross-mintaqaviy egressni cheklang.

10) Qiymat va tejash

Edge-kesh + SWR - mintaqalararo egressni kamaytirish.
Turli saqlash sinflari (hot/warm/cold) va downsampling metrik/loglar.
Avto-scale hududlar bo’yicha profillar (tungi minimal).
Tasvirlarning oʻxshashligi + atrof-muhit oʻzgaruvchilari orqali differensial konfiguratsiyasi/Helm values.

11) Antipatternlar

Butun tizimga bitta Stateful-master; kvorumsiz split-brain.
Yagona RDBMSga mintaqalararo sinxron yozuv (chidab boʻlmas latentlik).
CRDT → tiqilinchsiz va «fantomasiz» global kesh.
Idempotentlik bo’lmagan retralar → operatsiyalar/to’lovlarning dublikatlari.
Yagona «global» SLO - bitta mintaqaning muvaffaqiyatsizligini yashiradi.
Muntazam DR mashqlari yo’q - rejalar jangda ishlamaydi.

12) iGaming/Moliya xususiyatlari

To’lov provayderlari/KTS mintaqaviy tarzda tanlanadi; sog’liq signallari bilan PSP smart-routing qiling, zaxira uchun failover.
Yurisdiksiya: mamlakat/mintaqa ichida PII va operatsiyalar jurnallarini saqlash; kross-mintaqa - faqat agregatlar/anonim.
Limitlar/mas’uliyatli o’yin: mahalliy qoidalar va soatlar - mintaqalar o’rtasida «peshonaga» nusxa ko’rsatmang, voqealarning mustahkamligidan foydalaning.
Bonuslar/balans: idempotent kalitlari va «haqiqat manbai» per tenant/region; DR dan keyin reconcile-joblar.

13) Mini-retseptlar (soxta konfig)

13. 1 Envoy locality-aware + failover

yaml load_assignment:
endpoints:
- locality: { region: eu, zone: eu-a }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: eu, zone: eu-b }
lb_endpoints: [{ endpoint: { address:... } }]
- locality: { region: us, zone: us-a } # failover target lb_endpoints: [{ endpoint: { address:... } }]
common_lb_config:
zone_aware_lb_config: {}
locality_weighted_lb_config: {}
outlier_detection:
consecutive_5xx: 5 base_ejection_time: 30s

13. 2 Kubernetes topology spread

yaml spec:
topologySpreadConstraints:
- maxSkew: 1 topologyKey: topology. kubernetes. io/zone whenUnsatisfiable: DoNotSchedule labelSelector: { matchLabels: { app: api } }

13. 3 DNS og’irlik fayloveri (g’oya)

’weight (eu) = 90’,’weight (us) = 10’→ degradatsiyasida’eu’avtomatik ravishda’us’ga siljiydi. Health-checks va past TTL (lekin unchalik agressiv emas, 30-120 s).

14) Prod-tayyorlik chek-varaqasi

  • RTO/RPO per servisi aniqlandi va biznes bilan kelishilgan.
  • Stateless AZ bo’yicha taqsimlangan; stateful kvorum/replikatsiyaga va konsistentlikning tushunarli modeliga ega.
  • Mintaqalararo replikatsiya (asinxron/CDC), mojaro/deduplikator testlari.
  • GSLB/Anycast sozlangan, health-checks va weights avtomatlashtirilgan.
  • Kubernetes: topology-spread, PDB, anti-affinity; multi-cluster GitOps.
  • Jitter bilan retray, write da idempotentlik; mintaqalararo qisqa vaqt.
  • Haqiqiy RTO/RPO o’lchangan DR-mashqlar; dolzarb runbook.
  • Mintaqa/AZ, SLO va burn-rate bo’yicha kuzatish, alertlar normal ishni «to’sib qo’ymaydi».
  • Data residency/sirlar/kalitlar regulyatorga mos keladi.
  • Iqtisodiyot: egress, saqlash, avtoskeyl profillari nazorat ostida.

15) TL; DR

Multi-AZni bazaviy qatlam, multi-region - biznesni sugʻurtalash sifatida quring. RTO/RPO va qiymati uchun pattern (active-active/standby) ni tanlang, maʼlumotlarni ongli ravishda takrorlang (kvorumlar/CDC/CRDT), global trafikni GSLB/Anycast va locality-aware balanslash orqali boshqaring. Majburiy: idempotentlik, qisqa taymautlar, muntazam DR-mashqlar, SLO/region/AZ kesimlaridagi metriklar. iGaming/moliya uchun hududiy PSP/KYC, maʼlumotlar talablari va yurisdiksiyalar boʻyicha alohida SLO qoʻshing.

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.