GH GambleHub

Zonas de disponibilidad y regiones cruzadas

1) Términos y objetivos

Zona de disponibilidad (AZ) - Centro de datos aislado dentro de la región (capacidad/red nativa).
La región es un grupo de AZ con geografía general y retrasos.

Objetivos de recuperación:
  • RTO (Recovery Time Objective) - ¿Cuánto tiempo puede no prestar el servicio.
  • RPO (Recovery Point Objective): qué cantidad de datos se puede perder.

Normalmente: dentro de la región, apuntamos a RTO ≤ 5-15 min, RPO ~ 0-1 min, interregional - RTO ≤ 1 h, RPO ≤ 5 min (depende del producto y el presupuesto).

2) Modelos arquitectónicos

2. 1 Dentro de la región (multi-AZ)

Capa sin estado: distribuida por AZ; equilibrio - L4/L7 con health-checks.
Capa de estado: clústeres con replicación sincrónica (o quórum) entre AZ.
Caché/colas: clúster, con charding por AZ y failover automático.

2. 2 Interregional (multi-región)

Active-Active: ambas regiones reciben tráfico.

latencia mínima para los usuarios, recuperación rápida, − complejidad de consistencia y conflicto.
Active-Passive (hot/warm): la región principal sirve, la segunda está en espera caliente/caliente.

datos más simples, más baratos, − RTO arriba.
Pilot-Light: mínima «luz» (los datos se sincronizan, los cálculos se despliegan en caso de accidente).
DR-backup: sólo los backups y el escenario de recuperación (el más barato y el más lento).

3) Datos y consistencia

3. 1 Bases de datos

Quórum sincrónico (RPO≈0, ↑latentnost): PostgreSQL con standbys sincrónicos dentro de la región; BD distribuidas (CockroachDB/Cassandra) con quórum local (Local Quorum) y equilibrio AZ.
Interregional asíncrona (RPO> 0, ↓latentnost): replicación lógica de Postgres/MySQL; «global tables» в KV/NoSQL; CDC→strim a otra región.
Entradas en conflicto: para active-active, utilice CRDT/versioning o estrategia de «fuente de verdad» (leader-region per key/tenant).

3. 2 Sorteo de eventos y colas

Colas/streams (tipo Kafka/Pulsar/SQS): mirror-topics o replicadores transversales regionales; la clave es la idempotencia de los consumers y del dedoup en las llaves.
Webhooks y socios externos: firmar, tener replay, almacenar offset/checkpoints en ambas zonas.

3. 3 Caché

Caché local por región (write-through/refresh-ahead); caché compartido global sólo para KV duraderos (de lo contrario split-brain). Invalidez por eventos (pub/sub), TTL es conservadora.

4) Tráfico global y bucle de red

GSLB/DNS: Geo- J Latency-based routing, health-checks, «traffic-weights» para Canarias y accidentes.
Anycast/Edge: acercamos la entrada al usuario, a continuación, a la región saludable más cercana.
Políticas fallidas: pools regionales de upstream's, prohibición de 0-RTT en rutas críticas, tiempos bajos a dependencias interregionales.
Políticas de retroceso: retroceso exponencial + jitter, restricción total-deadline, PUT/POST idempotente con 'Idempotency-Key'.

5) Kubernetes y servicio de mesh

5. 1 Multi-AZ en un solo clúster

topology spread constraints по `topology. kubernetes. io/zone`.
PodDisruptionBudget и priority classes.
NodeAffinity/Anti-Affinity - evitar la co-ubicación de réplicas.
Zonas de almacenamiento: fotovoltaicos con replicación por AZ o sistemas de volumen distribuidos.

5. 2 Multi-region (multi-cluster)

Clústeres separados por región + GitOps (Argo CD/Flux) para sincronización declarativa.
Mesh de servicio (Istio/Linkerd): locality-aware load-balance y failover entre regiones; mTLS, identidad común.
Traffic-shifting: por etapas 1%→10%→50% a la nueva región; pluma «poner 0%» instantáneamente.

6) Selección de RTO/RPO y referencia a patrones

PatternTipos de RTORPO estándarDónde se aplica
Active-Activeminutos~ de 0 minutos (CRDT/CDC)API globales de baja latencia
Hot Standby5-15 minutossegundos-minutosservicios B2C críticos
Warm Standby15-60 minasminutos-horassubsistemas b2b/operativos
Pilot-Lightrelojrelojbaja criticidad/costo
Backup-onlydíasDíaarchivo/análisis no real-time

7) Pruebas de tolerancia a fallas (DR)

GameDays: escenario trimestral a gran escala «extinguido región/AZ».
Inyección Chaos: latencia de red, pérdida de paquetes, desconexión del bróker/base en un único AZ.
RTO/RPO reales: medir el tiempo de conmutación y la pérdida de datos, publicar el informe.
Runbooks: instrucciones paso a paso y «botones rojos» para cambiar (DNS weights, feature-flags, desactivar el fich pesado).

8) Observabilidad y gestión

Cortes de métricas por región/AZ/tenant; p95/p99 de latencia a lo largo de las rutas.
SLO y Error Budgets por región y por grupo global.
Alertas: la degradación de una región no debe «silenciar» la paginación si la segunda lleva el tráfico normalmente.
Трейсы: baggage `region`, `az`, `failover=true/false`; informes «cuántas solicitudes se han ido a failover».

9) Seguridad y cumplimiento

Residencia de datos: vincular los datos PII/de pago a determinadas regiones (jurisdicción).
Secretos: KMS/Smart-HSM con claves regionales cruzadas y rotación; separe los materiales de las llaves por región.
mTLS y confianza mutua entre regiones; limite el egreso regional cruzado a la ACL.

10) Costo y ahorro

Edge caché + SWR - Reducción de la egresa interregional.
Diferentes clases de almacenamiento (hot/warm/cold) y downsampling métricas/logs.
Perfiles de escala automática por región (mínimo nocturno).
Identidad de imagen + configuración diferenciada a través de variables de entorno/valores de Helm.

11) Antipattern

Un asistente Stateful para todo el sistema; split-brain sin quórum.
Escritura sincrónica interregional en un solo RDBMS (latencia inasumible).
Caché global con fuerte consistencia sin CRDT → congestión y «fantasmas».
Retraídas sin idempotencia → duplicados de transacciones/pagos.
Un solo SLO «global» - esconde el fracaso de una región.
No hay ejercicios regulares de RD: los planes son inoperantes en combate.

12) Especificidad de iGaming/finanzas

Los proveedores de pagos/CCA se seleccionan a nivel regional; hacer smart-routing por PSP con señales de salud, failover en respaldo.
Jurisdicción: custodia de los registros PII y de las transacciones nacionales y regionales; región cruzada - sólo agregados/anónimos.
Límites/juego responsable: reglas y horas locales - no replique «de frente» entre regiones, use consistencia de eventos.
Bonificaciones/balance: llaves idempotentes y «fuente de la verdad» per tenant/region; reconcile-joba después de DR.

13) Mini recetas (pseudoconfigs)

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 peso Feilover (idea)

'weight (eu) = 90', 'weight (us) = 10' → al degradarse 'eu' automáticamente el cambio a 'us'. Cheques de salud y TTL reducidos (pero no demasiado agresivos, 30-120 s).

14) Lista de comprobación prod

  • Se define el servicio RTO/RPO per y se negocia con el negocio.
  • Stateless se distribuye por AZ; stateful tiene quórum/replicación y un modelo de consistencia comprensible.
  • Replicación interregional (asinchron/CDC), pruebas de conflicto/deduplicador.
  • Los GSLB/Anycast están configurados, los cheques de salud y los weights son automatizables.
  • Kubernetes: topology-spread, PDB, anti-affinity; multi-cluster GitOps.
  • Retrés con jitter, idempotencia en escritura; los timautas cortos son interregionales.
  • Ejercicios de RD medidos por RTO/RPO reales; runbook actual.
  • Observabilidad por región/AZ, SLO y burn-rate en los cortes, las alertas no «silencian» el funcionamiento normal.
  • Data residency/secretos/claves se ajustan a la regulación.
  • Economía: egresos, almacenamiento, perfiles de autocaravana bajo control.

15) TL; DR

Construye multi-AZ como capa base, multi-región - como seguro empresarial. Seleccione un patrón (active-active/standby) bajo RTO/RPO y costo, replique los datos conscientemente (quórum/CDC/CRDT), administre el tráfico global a través de GSLB/Anycast y locality Equilibrio de aware. Son obligatorias: idempotencia, tiempos cortos, ejercicios regulares de DR, SLO/métricas en los cortes de la región/AZ. Para iGaming/finanzas, agregue PSP/KYC regionales, requisitos de datos y SLO separados por jurisdicción.

Contact

Póngase en contacto

Escríbanos ante cualquier duda o necesidad de soporte.¡Siempre estamos listos para ayudarle!

Telegram
@Gamble_GC
Iniciar integración

El Email es obligatorio. Telegram o WhatsApp — opcionales.

Su nombre opcional
Email opcional
Asunto opcional
Mensaje opcional
Telegram opcional
@
Si indica Telegram, también le responderemos allí además del Email.
WhatsApp opcional
Formato: +código de país y número (por ejemplo, +34XXXXXXXXX).

Al hacer clic en el botón, usted acepta el tratamiento de sus datos.