GH GambleHub

Zone de disponibilitate și regiuni încrucișate

1) Termeni și obiective

Zona de disponibilitate (AZ) - un centru de date izolat în regiune (capacitate proprie/rețea).
Regiune - grup AZ cu geografie comună și întârzieri.

Obiective de recuperare:
  • RTO (Recovery Time Obiectiv) - cât timp nu puteți oferi un serviciu.
  • RPO (Recovery Point Obiectiv) - cât de multe date pot fi pierdute.

De obicei: in cadrul regiunii vizam RTO ≤ 5-15 minute, RPO ~ 0-1 minute, interregional - RTO ≤ 1 ora, RPO ≤ 5 minute (in functie de produs si buget).

2) Modele arhitecturale

2. 1 În interiorul regiunii (multi-AZ)

Strat apatrid: distribuit peste AZ; echilibrare - L4/L7 cu controale de sănătate.
Strat statuar: clustere cu replicare sincronă (sau cvorum) între AZ.
Cache/cozi: grupate, cu ascuțire AZ și failover automat.

2. 2 Interregional (multi-regiune)

Activ-Activ: Ambele regiuni primesc trafic.

Latenţă minimă a utilizatorului, recuperare rapidă, consistenţă − şi complexitate conflictuală

Activ-pasiv (cald/cald): regiunea principală servește, a doua - în anticipare caldă/caldă.

date mai simple, mai ieftine, − RTO mai mare.
Pilot-Light: „lumină” minimă (datele sunt sincronizate, calculele se desfășoară în caz de accident).
DR-backup: numai copii de rezervă și scenariu de recuperare (cel mai ieftin și mai lent).

3) Date și consecvență

3. 1 Baze de date

Cvorum sincron (RPO≈0, ↑latentnost): PostgreSQL cu standbyuri sincrone în regiune; baze de date distribuite (GandachDB/Cassandra) cu cvorumuri locale (Local Quorum) și echilibrare AZ.
Asincron interregional (RPO> 0, ↓latentnost): replicare logică Postgres/MySQL; „tabele globale” в KV/NoSQL; CDC→strim în altă regiune.
Intrări contradictorii: Pentru activ-activ, utilizați CRDT/versioning sau leader-regiune per cheie/chiriaș.

3. 2 Evenimente-aprovizionare și cozi

Cozi/fluxuri (Kafka/Pulsar/SQS-like): subiecte-oglindă sau replicatoare transregionale; cheie - idempotența consumatorilor și blocajul cheie.
Webhooks și parteneri externi: semnați, reluați, stocați punctele de control/offset în ambele zone.

3. 3 Numerar

Cache-uri locale pe regiune (write-through/refresh-ahead); cache global partajat pentru KV-uri durabile numai (aka split-creier). Dezactivarea după eveniment (pub/sub), TTL - conservator.

4) Bucla globală de trafic și rețea

GSLB/DNS: rutare pe bază de geo-/latență, controale de sănătate, trafic-greutăți pentru canari și accidente.
Anycast/Edge: aducem intrarea mai aproape de utilizator, apoi de cea mai apropiată regiune sănătoasă.
Politici de eșec: bazine regionale în amonte, interzicerea 0-RTT pe căi critice, termene scăzute pentru dependențele interregionale.
Politici de retransmitere: backoff exponențial + jitter, constrângere cu termen limită total, PUT/POST idempotent cu „Idempotency-Key”.

5) Kubernete și plasă de serviciu

5. 1 Multi-AZ într-un singur cluster

topologia răspândește constrângeri по 'topologie. kubernetes. io/zona ".
PodDisruptionBudget и clase prioritare.
NodeAffinity/Anti-Affinity - Evitați copia co-locație.
Zone de stocare: PV cu sisteme de replicare AZ sau volum distribuit.

5. 2 Multi-regiune (multi-cluster)

Clustere separate pe regiune + GitOps (Argo CD/Flux) pentru sincronizare declarativă.
Service Mesh (Istio/Linkerd): echilibrarea încărcăturii și failover între regiuni; mTLS, identitate comună.
Deplasarea traficului: treptat 1%→10%→50% către o nouă regiune; mâner „pune 0%” instantaneu.

6) Selectarea RTO/RPO și legarea modelului

ModelRTO tipiceRPO tipicDupă caz
Activ-activminute~ de 0 minute (CRDT/CDC)API-uri globale cu latență scăzută
Hot Standby5-15 minsecunde-minuteservicii critice B2C
Standby cald15-60 minminute-oreb2b/subsisteme de operare
Pilot-Lightoreorecritică scăzută/cost
Numai backupzileziarhivă/analiză nu în timp real

7) Testarea toleranței la erori (DR)

GameDays: trimestrial pe scară largă „regiune/AZ out” scenariu.
Injecții de haos: întârzieri de rețea, pierderi de pachete, deconectare broker/bază într-un singur AZ.
RTO/RPO efectiv: măsurați timpul de comutare și pierderea datelor, publicați raportul.
Runbooks: instrucțiuni pas cu pas și „butoane roșii” pentru comutare (greutăți DNS, feature-flags, dezactivarea caracteristicilor grele).

8) Observabilitate și management

Felii metrice pe regiuni/AZ/chiriași; p95/p99 latenţa traseului.
Bugete SLO și Eroare per regiune și per pool global.
Alerte: degradarea unei regiuni nu trebuie să „blocheze” paginile dacă a doua transportă traficul în mod normal.
Трейсы: bagajele „regiune”, „az”, „failover = true/false”; raportează „câte cereri au eşuat”.

9) Siguranță și conformitate

Rezidența datelor: conectarea datelor PII/de plată la anumite regiuni (jurisdicție).
Secrete: KMS/smart HSM cu chei transregionale și rotație; Materiale cheie separate pe regiune.
mTLS și încrederea reciprocă între regiuni; restricționează ieșirea transregională de către ACL.

10) Costuri și economii

Edge cache + SWR - scăderea ieșirii interregionale.
Diferite clase de depozitare (cald/cald/rece) și downsampling metrics/busteni.
Profile la scară automată în funcție de regiune (minim de noapte).
Identitatea imaginii + configurație diferențiată prin variabile de mediu/valori Helm.

11) Antipattern

Un maestru al statutului pe sistem; creier divizat fără cvorum.
Scrierea sincronă interregională la un singur RDBMS (latență insuportabilă).
Cache global cu consistență puternică fără CRDT → congestie și fantome.
Retrocedări fără idempotență → duplicarea tranzacțiilor/plăților.
Un singur SLO „global” - ascunde eșecul unei regiuni.
Nu există exerciții DR regulate - planurile sunt inoperabile în luptă.

12) Specificul iGaming/Finanțe

Prestatorii de plăți/contrapartidele centrale sunt selectați la nivel regional; face smart-rutare peste PSP cu semnale de sănătate, nu a reușit să backup.
Jurisdicție: deținerea de jurnale de tranzacții PII și în țară/regiune; cross-region - numai agregate/anonime.
Limite/joc responsabil: reguli și ore locale - nu reproduceți „head-on” între regiuni, utilizați consecvența evenimentelor.

Bonusuri/echilibru: chei idempotente și „sursa adevărului” per chiriaș/regiune; reconciliere-locuri de muncă după DR

13) Mini rețete (pseudo-figuri)

13. 1 Trimisul localității-conștient + 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 topologie răspândit

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

13. 3 DNS Greutate Feilover (idee)

„greutate (eu) = 90”, „greutate (us) = 10” → atunci când se degradează „eu” se mută automat la „noi”. Controale de sănătate și TTL-uri reduse (dar nu prea agresive, 30-120 s).

14) Lista de verificare Prod Readiness

  • RTO/RPO per serviciu definit și convenit cu afacerea.
  • Apatrizii distribuiți în AZ; Stateful are cvorum/replicare și un model clar de consistență.
  • Replicare transregională (asincron/CDC), teste de coliziune/eliminare a duplicatelor.
  • GSLB/Anycast sunt configurate, controalele de sănătate și greutățile sunt automatizate.
  • Kubernetes: topologie-spread, PDB, anti-afinitate; multi-cluster GitOps.
  • Retrai cu jitter, idempotency on write; scurte intervale de timp interregional.
  • exerciții DR, măsurate efectiv RTO/RPO; Runbook curent.
  • Observabilitatea pe regiuni/AZ, SLO și burn-rate pe secțiuni, alerte nu „blochează” funcționarea normală.
  • Rezidența datelor/secretele/cheile respectă cerințele de reglementare.
  • Economie: ieșire, depozitare, profile autoscale sub control.

15) TL; DR

Construiți multi-AZ ca un strat de bază, multi-regiune ca asigurare de afaceri. Alegeți un model (activ-activ/standby) pentru RTO/RPO și costul, replicați datele în mod conștient (cvorum/CDC/CRDT), gestionați traficul global prin GSLB/Anycast și echilibrarea conștientă de locație. Obligatoriu: idempotență, scurte intervale de timp, exerciții DR regulate, SLO/metrici pe felii de regiune/AZ. Pentru iGaming/Finance, adăugați PSP/KYC regional, cerințele de date și SLO-urile divizate în funcție de jurisdicție.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Telegram
@Gamble_GC
Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.