GH GambleHub

Kullanılabilirlik Bölgeleri ve Çapraz Bölgeler

1) Şartlar ve hedefler

Kullanılabilirlik bölgesi (AZ) - bölge içinde izole bir veri merkezi (kendi kapasitesi/ağı).
Bölge - Ortak coğrafya ve gecikmelere sahip AZ grubu.

Kurtarma hedefleri:
  • RTO (Recovery Time Objective - Kurtarma Süresi Hedefi): Bir hizmeti ne kadar sürede sağlayamazsınız?
  • RPO (Recovery Point Objective - Kurtarma Noktası Hedefi): Ne kadar veri kaybedilebilir?

Genellikle: bölgede RTO ≤ 5-15 dakika, RPO ~ 0-1 dakika, bölgeler arası - RTO ≤ 1 saat, RPO ≤ 5 dakika (ürüne ve bütçeye bağlı olarak) hedefliyoruz.

2) Mimari modeller

2. 1 Bölgenin içinde (çok AZ)

Durumsuz katman: AZ üzerinden dağıtılır; dengeleme - sağlık kontrolleri ile L4/L7.
Durumsal katman: AZ arasında eşzamanlı çoğaltma (veya çekirdek) olan kümeler.
Önbellek/kuyruklar: AZ sharding ve otomatik yük devretme ile kümelenmiş.

2. 2 Bölgelerarası (çok bölgeli)

Aktif-Aktif: Her iki bölge de trafik alır.

Minimum kullanıcı gecikmesi, hızlı kurtarma, − tutarlılık ve çatışma karmaşıklığı

Aktif-Pasif (sıcak/sıcak): Ana bölge hizmet eder, ikincisi - sıcak/sıcak beklentisinde.

Daha basit veri, daha ucuz; − daha yüksek RTO.
Pilot-Light: Minimum "ışık" (veriler senkronize edilir, bir kaza durumunda hesaplamalar yapılır).
DR-yedekleme: yalnızca yedeklemeler ve kurtarma senaryosu (en ucuz ve en yavaş).

3) Veri ve tutarlılık

3. 1 Veritabanları

Senkron çekirdek (RPO≈0, ↑latentnost): Bölge içinde senkron standbys ile PostgreSQL; Yerel quorum (Local Quorum) ve AZ balancing ile dağıtılmış veritabanları (CockroachDB/Cassandra).
Asenkron bölgeler arası (RPO> 0, ↓latentnost): mantıksal çoğaltma Postgres/MySQL; KV/NoSQL в "global tablolar"; CDC - başka bir bölgeye strim.
Çakışan girişler: Etkin-etkin için, anahtar/kiracı başına CRDT/sürüm oluşturma veya lider bölge kullanın.

3. 2 Olay kaynağı ve kuyruklar

Kuyruklar/akışlar (Kafka/Pulsar/SQS benzeri): ayna konuları veya bölgeler arası çoğaltıcılar; anahtar - tüketici idempotency ve anahtar kilitlenme.
Webhooks ve harici ortaklar: her iki bölgede de oturum açın, tekrar oynatın, ofset/kontrol noktaları saklayın.

3. 3 Nakit

Bölge başına yerel önbellekler (yazma/yenileme öncesinde); Yalnızca dayanıklı KV'ler için global paylaşılan önbellek (diğer adıyla split-brain). Etkinlikle devre dışı bırakma (pub/sub), TTL - muhafazakar.

4) Küresel trafik ve ağ döngüsü

GSLB/DNS: Geo-/Gecikme tabanlı yönlendirme, sağlık kontrolleri, kanaryalar ve kazalar için trafik ağırlıkları.
Anycast/Edge: Girişi kullanıcıya daha yakın, daha sonra en yakın sağlıklı bölgeye getiriyoruz.
Yük devretme politikaları: bölgesel yukarı akış havuzları, kritik yollarda 0-RTT yasağı, bölgeler arası bağımlılıklara düşük zaman aşımları.
Retray politikaları: üstel geri dönüş + jitter, toplam son tarih kısıtlaması, 'Idempotency-Key'ile idempotent PUT/POST.

5) Kubernetes ve servis ağı

5. 1 Bir kümede Multi-AZ

Topoloji yayılma kısıtlamaları по topolojisi. Kubernetes. io/zone '.
PodDisruptionBudget и öncelik sınıfları.
NodeAffinity/Anti-Affinity - Çoğaltma ortak konumundan kaçının.
Depolama alanları: AZ replikasyonlu PV veya dağıtılmış hacim sistemleri.

5. 2 Çok bölgeli (çok kümeli)

Bildirimsel senkronizasyon için bölge başına ayrı kümeler + GitOps (Argo CD/Flux).
Servis Ağı (Istio/Linkerd): Bölgeler arasında yerelliğe duyarlı yük dengeleme ve yük devretme; mTLS, paylaşılan kimlik.
Trafik kaydırma: Yavaş yavaş %1 - %10 - %50 yeni bir bölgeye; Anında "%0 koy" kolu.

6) RTO/RPO seçimi ve desen bağlama

DesenTipik RTO'larTipik RPOUygulanabilir olduğunda
Aktif-AktifDakikalar0 dakikalık ~ (CRDT/CDC)Düşük gecikme süreli global API'ler
Hazır Bekleme5-15 dkSaniye-dakikaKritik B2C hizmetleri
Sıcak bekleme15-60 dkdakika-saatb2b/işletim alt sistemleri
Pilot-LightsaatlersaatlerDüşük kritiklik/maliyet
Yalnızca yedeklemegünlergünArşiv/analitik gerçek zamanlı değil

7) Hata tolerans testi (DR)

GameDays: Üç aylık tam ölçekli "bölge/AZ out" senaryosu.
Kaos enjeksiyonları: ağ gecikmeleri, paket kayıpları, bir AZ'de broker/baz bağlantısı kesilmesi.
RTO/RPO fiili: anahtar süresini ve veri kaybını ölçün, rapor yayınlayın.
Runbooks: adım adım talimatlar ve anahtarlama için "kırmızı düğmeler" (DNS ağırlıkları, özellik bayrakları, ağır özellikleri devre dışı bırakma).

8) Gözlemlenebilirlik ve yönetim

Bölgeye göre metrik dilimler/AZ/kiracı; P95/p99 rota gecikmesi.
Bölge ve küresel havuz başına SLO ve Hata Bütçeleri.
Uyarılar: Bir bölgenin bozulması, ikincisi trafiği normal şekilde taşıyorsa, sayfalama "sıkışmamalıdır".
Трейсы: bagaj 'bölge', 'az', 'yük devretme = doğru/yanlış'; "Kaç isteğin failover'a gittiğini rapor eder".

9) Güvenlik ve uyumluluk

Veri ikameti: PII/ödeme verilerini belirli bölgelere bağlama (yargı alanı).
Sırlar: Bölgeler arası tuşlara ve rotasyona sahip KMS/akıllı HSM; Bölge başına ayrı anahtar malzemeler.
mTLS ve bölgeler arası karşılıklı güven; Bölgeler arası çıkışı ACL ile sınırla.

10) Maliyet ve tasarruf

Kenar önbelleği + SWR - bölgelerarası çıkışta azalma.
Farklı depolama sınıfları (sıcak/sıcak/soğuk) ve altörnekleme metrikleri/günlükleri.
Bölgelere göre otomatik ölçekli profiller (gece minimum).
Görüntü kimliği + ortam değişkenleri/Dümen değerleri aracılığıyla farklılaştırılmış yapılandırma.

11) Antipatterns

Sistem başına bir Stateful master; Yeterli çoğunluk olmadan bölünmüş beyin.
Tek bir RDBMS'ye bölgeler arası eşzamanlı yazma (dayanılmaz gecikme).
CRDT olmadan güçlü tutarlılığa sahip global önbellek - tıkanıklık ve fantomlar.
Idempotency olmadan Retrays - yinelenen işlemler/ödemeler.
Tek bir "küresel" SLO - bir bölgenin başarısızlığını gizler.
Düzenli DR egzersizleri yoktur - planlar savaşta çalışamaz.

12) iGaming/Finansın Özellikleri

Ödeme sağlayıcıları/CCP'ler bölgesel olarak seçilir; Sağlık sinyalleri ile PSP üzerinden akıllı yönlendirme yapın, yedeğe aktarım yapın.
Yargı yetkisi: PII ve ülke/bölge içi işlem günlüklerini tutmak; çapraz bölge - yalnızca kümeler/anonim.
Sınırlar/sorumlu oyun: yerel kurallar ve saatler - bölgeler arasında "kafa kafaya" çoğaltmayın, olay tutarlılığını kullanın.

Bonuslar/denge: idempotent anahtarlar ve kiracı/bölge başına "gerçeğin kaynağı"; DR'den sonra uzlaştırma işleri

13) Mini tarifler (sahte rakamlar)

13. 1 Elçi yerellik bilincine sahip + yük devretme

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 topoloji yayılımı

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

13. 3 DNS Ağırlık Feilover (fikir)

'weight (eu) = 90', 'weight (us) = 10' - 'eu' otomatik olarak'biz'e geçtiğinde. Sağlık kontrolleri ve düşük TTL'ler (ancak çok agresif değil, 30-120 s).

14) Prod Hazırlık Kontrol Listesi

  • Tanımlanan ve iş ile kabul edilen hizmet başına RTO/RPO.
  • AZ genelinde dağıtılan vatansız; stateful, quorum/replication ve net bir tutarlılık modeline sahiptir.
  • Bölgeler arası çoğaltma (asynchron/CDC), çakışma/veri tekilleştirme testleri.
  • GSLB/Anycast yapılandırılır, sağlık kontrolleri ve ağırlıklar otomatiktir.
  • Kubernetes: topoloji-yayılma, PDB, anti-afinite; Çok kümeli GitOps.
  • jitter ile Retrai, yazma üzerinde idempotency; Bölgesel olarak kısa süreler.
  • Gerçek RTO/RPO ölçülen DR egzersizleri; şu anki runbook.
  • Bölgelere göre gözlemlenebilirlik/AZ, SLO ve bölümlerde yanma oranı, uyarılar normal çalışmayı "sıkıştırmaz".
  • Veri ikametgahı/sırları/anahtarları yasal gerekliliklere uygundur.
  • Ekonomi: çıkış, depolama, otomatik ölçek profilleri kontrol altında.

15) TL; DR

Temel katman olarak multi-AZ, iş sigortası olarak multi-region oluşturun. RTO/RPO ve maliyet için bir model (aktif-aktif/bekleme) seçin, verileri bilinçli olarak çoğaltın (quorums/CDC/CRDT), küresel trafiği GSLB/Anycast ve konuma duyarlı dengeleme yoluyla yönetin. Zorunlu: Idempotency, kısa zaman aşımları, düzenli DR egzersizleri, bölge/AZ dilimleri üzerinde SLO/metrikler. IGaming/Finans için bölgesel PSP/KYC, veri gereksinimleri ve yargı yetkisine göre bölünmüş SLO'lar ekleyin.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.