GH GambleHub

Əlçatanlıq zonaları və çarpaz bölgələr

1) Terminlər və məqsədlər

Əlçatanlıq zonası (AZ) - region daxilində təcrid olunmuş məlumat mərkəzi (öz gücü/şəbəkəsi).
Region - ümumi coğrafiyası və gecikmələri olan AZ qrupu.

Bərpa məqsədləri:
  • RTO (Recovery Time Objective) - nə qədər vaxt xidmət göstərə bilməzsiniz.
  • RPO (Recovery Point Objective) - nə qədər məlumat itirmək olar.

Adətən: regionda 5-15 dəq ≤ RTO, RPO ~ 0-1 dəq, regionlararası - RTO ≤ 1 saat, RPO ≤ 5 dəq (məhsul və büdcədən asılıdır).

2) Memarlıq modelləri

2. 1 Regionda (multi-AZ)

Stateless qat: AZ üzrə paylanmış; balans - L4/L7-checks ilə.
Stateful-qat: AZ arasında sinxron replikasiya (və ya kvorum) olan klasterlər.
Cache/növbələr: AZ və avtomatik failover ilə şardlanmış klaster.

2. 2 Regionlararası (multi-region)

Active-Active: Hər iki bölgə trafiki qəbul edir.

istifadəçilər üçün minimal gizlilik, sürətli bərpa; − uyğunluq və münaqişələrin mürəkkəbliyi.
Active-Passive (hot/warm): əsas region xidmət, ikinci - isti/isti gözləmə.

daha asan məlumat, daha ucuz; − RTO yuxarıda.
Pilot-Light: minimum «işıq» (məlumatlar sinxronlaşdırılır, hesablamalar qəza zamanı açılır).
DR-backup: yalnız backaps və bərpa ssenarisi (ən ucuz və ən yavaş).

3) Məlumat və sabitlik

3. 1 Verilənlər bazası

Sinxron kvorum (RPO ≈ 0, ↑ latentlik): Region daxilində sinxron standbys ilə PostgreSQL; paylanmış DB (CockroachDB/Cassandra) yerli kvorumlar (Local Quorum) və AZ balansı ilə.
Asinxron regionlararası (RPO> 0, ↓ gizli): Postgres/MySQL məntiqi replikasiyası; «global tables» в KV/NoSQL; CDC → başqa bir bölgəyə axın.
Münaqişə qeydləri: active-active üçün CRDT/version və ya «həqiqət mənbəyi» strategiyasını (lider-region per key/tenant) istifadə edin.

3. 2 Event-sorsinq və növbələr

Növbələr/axınlar (Kafka/Pulsar/SQS-oxşar): mirror-topics və ya xaç-regional replikatorlar; açar - konsumerlərin idempotentliyi və açar dedupu.
Webhucks və xarici tərəfdaşlar: imza, replay var, hər iki zonada offset/kontrol nöqtələri saxlamaq.

3. 3 Cache

Yerli per-region caches (write-through/refresh-ahead); qlobal ümumi cache yalnız davamlı KV (əks halda split-brain) üçün. Hadisələrə görə əlil (pub/sub), TTL - mühafizəkar.

4) Qlobal trafik və şəbəkə konturu

GSLB/DNS: Geo-/Latency-based routing, health-checks, kanaryalar və qəzalar üçün «traffic-weights».
Anycast/Edge: giriş istifadəçiyə yaxınlaşır, sonra - ən yaxın sağlam bölgəyə.
Failover siyasətləri: Regional upstream hovuzları, kritik yollarda 0-RTT qadağası, regionlararası asılılıqlara az vaxt.
Retraj siyasətləri: eksponensial backoff + jitter, total-deadline məhdudiyyəti, idempotent PUT/POST ilə 'Idempotency-Key'.

5) Kubernetes və xidmət mesh

5. Bir klasterdə 1 Multi-AZ

topology spread constraints по `topology. kubernetes. io/zone`.
PodDisruptionBudget и priority classes.
NodeAffinity/Anti-Affinity - replikaların kod yerindən qaçın.
Saxlama zonaları: AZ replikasiyalı PV və ya paylanmış volume sistemləri.

5. 2 Multi-region (multi-cluster)

Deklarativ sinxronizasiya üçün ayrı per-region + GitOps (Argo CD/Flux) klasterləri.
Service Mesh (Istio/Linkerd): regionlar arasında locality-aware load-balancing və failover; mTLS, ümumi kimlik.
Traffic-shifting: mərhələli 1% → 10% → 50% yeni region; tutacaq «0%» dərhal.

6) RTO/RPO seçimi və nümunələrə bağlanması

PatternTipik RTOTipik RPOHarada tətbiq olunur
Active-Activedəqiqələr~ 0 dəqiqə (CRDT/CDC)aşağı gecikmə ilə qlobal API
Hot Standby5-15 dəqiqəsaniyə-dəqiqəkritik B2C xidmətləri
Warm Standby15-60 dəqiqədəqiqə-saatb2b/əməliyyat alt sistemləri
Pilot-Lightsaatsaataşağı kritik/dəyəri
Backup-onlygünlərgünarxiv/analitika real-time deyil

7) Uğursuzluq testi (DR)

GameDays: rüblük tam miqyaslı ssenari «sönmüş region/AZ».
Chaos-injection: şəbəkə gecikmələri, paket itkiləri, broker/bazanın bir AZ-da bağlanması.
RTO/RPO faktiki: keçid vaxtını və məlumat itkisini ölçün, hesabatı dərc edin.
Runbooks: addım-addım təlimatlar və keçid üçün «qırmızı düymələr» (DNS weights, feature-flags, ağır feature off).

8) Müşahidə və idarəetmə

region/AZ/tenant üzrə metrik kəsiklər; p95/p99 marşrutlar üzrə gizli.
Bölgədə və qlobal hovuzda SLO və Error Budgets.
Alertlər: Bir bölgənin deqradasiyası, ikincisi normal trafik daşıyırsa, peycinqi «dayandırmamalıdır».
Трейсы: baggage `region`, `az`, `failover=true/false`; hesabatlar «failover nə qədər sorğu getdi».

9) Təhlükəsizlik və uyğunluq

Data residency: PII/ödəniş məlumatlarının müəyyən bölgələrə bağlanması (yurisdiksiya).
Secrets: cross-regional açarları və rotasiyası ilə KMS/smart-HSM; per-region açar materialları paylaşın.
mTLS və regionlar arasında qarşılıqlı etimad; ACL ilə cross-regional egress məhdudlaşdırın.

10) Dəyəri və qənaət

Edge cache + SWR - regionlararası egress azaldılması.
Müxtəlif saxlama sinifləri (hot/warm/cold) və downsampling metrik/log.
Regionlar üzrə avto-scale profilləri (gecə minimumu).
Şəkil kimliyi + mühit dəyişənləri/Helm values vasitəsilə fərqləndirilmiş konfiqurasiya.

11) Antipattern

Bütün sistem üçün bir Stateful Master; kvorum olmadan split-brain.
Bölgələrarası sinxron qeyd tək RDBMS (dözülməz gecikmə).
CRDT olmadan güclü sabitlik ilə qlobal cache → tıxaclar və «fantoms».
İdempotentlik olmadan retrajlar → əməliyyatların/ödənişlərin dublikatları.
Vahid «qlobal» SLO - bir bölgənin uğursuzluğunu gizlədir.
Heç bir müntəzəm DR təlimləri yoxdur - planlar döyüşdə işləmir.

12) iGaming/Maliyyə Xüsusiyyətləri

Ödəniş provayderləri/KOS regional olaraq seçilir; sağlamlıq siqnalları ilə PSP smart-routing edin, ehtiyat failover.
Yurisdiksiya: Ölkə/region daxilində PII və əməliyyat jurnallarının saxlanması; cross-region - yalnız aqreqatlar/anonim.
Limitlər/məsuliyyətli oyun: yerli qaydalar və saatlar - regionlar arasında «alnınıza» replikasiya etməyin, hadisə uyğunluğundan istifadə edin.
Bonuslar/balans: idempotent açarları və «həqiqət mənbəyi» per tenant/region; DR sonra reconcile jobs.

13) Mini reseptlər (psevdokonfiqlər)

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 çəkisi feylover (ideya)

'weight (eu) = 90', 'weight (us) = 10' → deqradasiya zamanı 'eu' avtomatik olaraq 'us' -a sürüşür. Health-checks və aşağı TTL (lakin çox aqressiv deyil, 30-120 s).

14) Prod hazırlıq yoxlama siyahısı

  • RTO/RPO per xidmət müəyyən və biznes ilə razılaşdırılmışdır.
  • Stateless AZ üzrə paylanır; stateful kvorum/replikasiya və başa düşülən sabitlik modelinə malikdir.
  • Bölgələrarası replikasiya (asinxron/CDC), münaqişə/deduplikator testləri.
  • GSLB/Anycast özelleştirilmiş, health-checks və weights avtomatlaşdırılır.
  • Kubernetes: topology-spread, PDB, anti-affinity; multi-cluster GitOps.
  • Jitter ilə retray, write idempotent; regionlararası qısa vaxt.
  • DR-təlimlər, ölçülmüş faktiki RTO/RPO; aktual runbook.
  • region/AZ, SLO və burn-rate üzrə müşahidə, alertlər normal işləməyi «əngəlləmir».
  • Data residency/secrets/açarları tənzimləyiciyə uyğundur.
  • İqtisadiyyat: egress, saxlama, avtoskeyl profilləri nəzarət altındadır.

15) TL; DR

Multi-AZ-ı baza təbəqəsi, multi-region-biznesin sığortası kimi qurun. RTO/RPO və dəyəri altında bir model (active-active/standby) seçin, məlumatlarınızı qəsdən təkrarlayın (kvorumlar/CDC/CRDT), GSLB/Anycast və locality-aware balans vasitəsilə qlobal trafiki idarə edin. Məcburi: idempotentlik, qısa vaxt, müntəzəm DR təlimləri, bölgə/AZ kəsiklərində SLO/metriklər. iGaming/maliyyə üçün regional PSP/KYC, məlumat tələbləri və yurisdiksiyalar üzrə ayrı SLO əlavə edin.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.