Hubas regionales
(Sección: Ecosistema y Red)
1) Por qué se necesitan hubs regionales
Un hub regional es un clúster local de computación, almacenamiento y puertas de enlace de red optimizado para:- Latencia y UX: proximidad al usuario (RTT↓, TTI/TTF↓).
- Cumplimiento y residencia: almacenamiento/tratamiento de datos dentro de la jurisdicción.
- Sostenibilidad y capacidad: descarga del núcleo global, trabajo en aislamiento parcial de la región.
- Economía: menor tráfico interregional, CDN/cachés locales, tarifas IX/peering ventajosas.
2) Las funciones del eje regional
1. Edge/Gateway es una capa de entrada (HTTP/2/3, gRPC, WebSocket, QUIC), rate-limit, QoS, WAF.
2. Reader/API - RPC, índices, servicios de búsqueda, views materializados locales.
3. Compute/Stream - Procesamiento de eventos, agregación, filtros antifraude.
4. Plano de datos - TSDB/escaparates de columnas, almacenamiento de objetos para datos «cálidos».
5. Compliance/KYC/KYB: integraciones locales con proveedores y catálogos de sanciones.
6. Payments/PSP - métodos de pago locales y/off-ramp.
7. Bridge/Relay es un terminal de mensajes entre cadenas con un búfer de finalización local.
8. Observabilidad - métricas/logs/tracks, muestras sintéticas.
9. Governance/Access: directorios de roles, claves y límites para miembros regionales.
3) Topologías de implementación
Hub-and-Spoke: «master hub» central + spooks regionales con autonomía parcial.
Active-Active (Multi-Primary): operación simétrica de múltiples hubs con replicación libre de conflictos (CRDT/registros avanzados).
Active-Passive: reserva en caliente con replicación periódica y rollover DR.
Edge-Tiered: nodos edge «finos» (CDN, WebSocket-fan-out) → un centro regional «grueso».
La elección depende de los requisitos de finalización/consistencia, el costo de los canales y las restricciones regulatorias.
4) Geomarchutización y política de residencia
GeoDNS/Anycast + Latency-Aware LB: enviamos consultas al hub saludable más cercano.
Urisdiction Routing: los datos de los sujetos (EU/UK/TR, etc.) permanecen en el centro correspondiente; envíos interregionales - sólo en listas blancas.
Tráfico SOR (Smart Order Routing) para regiones: toma en cuenta RTT, costo del canal, banderas de cumplimiento, carga de cuotas y SLO.
Fail-in-Place: cuando las relaciones externas se degradan, el hub continúa atendiendo consultas «finalizadas-only» y operaciones locales.
5) Datos: catálogos, replicaciones, clases de almacenamiento
Clases de datos:- P0 - pagos/puente/identificación (residencia estricta, sincronización de «señales» sólo en unidades/hashis).
- P1 - Eventos y agregados de productos (vu local + exportación periódica).
- P2 - depuración/registros (compresión agresiva, retén largo en la región).
- Los eventos son logs-shipping con un orden dentro del lote (llaves region-scoped).
- Almacenamiento: MMR/CRDT asíncrono o snapshot-backs.
- Residencia: políticas DLP/PII, tokenización, claves de cifrado por región separadas.
6) Rendimiento y almacenamiento en caché
Caché: edge cache (TTL corto), read-through en la API, caché negative.
Warm-data: los últimos N bloques/batches, índices calientes por métodos populares.
Buffers DA/Batch para L2/Bridge: cola de publicación local con confirmaciones.
Hardware-Adjusted TPS: planificación de capacidad a $/TPS y $/RPS teniendo en cuenta los precios regionales.
7) QoS, colas y backpressure
Clases de P0/P1/P2 a nivel de bus y gateway; colas separadas y cuotas.
Partitioning: la clave 'region' tenant 'topic' para el proyectado throughput.
DLQ: cuarentena de mensajes «venenosos», retrés con jitter.
Control de administración: restricción de RPC «caros» (por rango, filtros, límites).
8) SLI/SLO del centro regional
SLI:- p95 Latency (Edge/API), Tasa de éxito, Queue-Lag p95, escaparates Freshness, Finality p95 (puente/relés), Geo-Hit Ratio (porcentaje de solicitudes atendidas en la región), Compliance Pad ass%.
- Edge/API p95 ≤ 350–450 мс, Availability ≥ 99. 95%.
- Freshness (P1) p95 ≤ 3 min; Queue-Lag P0 p95 ≤ 2 с.
- Geo-Hit Ratio ≥ 85% (sin hop interregional).
- DR RTO ≤ 15 min, RPO ≤ 5 min para P0.
9) Observabilidad y dashboards
Ops Core: latency/error/queue-lag/throughput por clases de QoS.
Geo View: tarjeta térmica RTT, Geo-Hit Ratio, tráfico interregional.
Compliance: residencia, éxitos sancionadores, registros de exportación.
Puente/DA: finalización de p95, desafío/reorg, fallos de publicación.
Capacidad & Costo: TPS_per_$, CTS/1k de consultas, Utilidad%.
10) DR y sostenibilidad
Canales de respaldo: IX/proveedores independientes, túneles encriptados de comunicaciones interhabitadas.
Modo aislado: «finalized-only», API de degradación, recibos locales seguidos de reconcile.
Ejercicios regulares: desconexión transatlántica, pérdida de DA/prouvers, «jitter/pérdida» en las fronteras.
11) Economía y planificación de la capacidad
CTS (Cost-to-Serve) per 1k ops: canales + computación + almacenamiento + licencias.
TPS_per_$: capacidad sostenible de 1 dólar en infraestructura.
Optimización Peering/IX: puntos de peer locales, anuncios de prefijo, compresión y bateo.
Tier-model: T1 (min-set de servicios), T2 (analítica completa), T3 (pila completa + DA/puente).
12) Configuraciones de referencia
12. 1 Política de enrutamiento (YAML)
yaml routing:
geodns:
regions: [eu, uk, tr, la, apac, na]
policies:
prefer_local: true fallback_chain: [nearest_healthy, master_hub]
compliance:
residency:
eu: ["eu"]
uk: ["uk"]
tr: ["tr"]
export_whitelist:
eu: ["anonymized_metrics","hash_anchors"]
slo_gates:
p0_latency_p95_ms: 400 queue_lag_p95_ms: 2000
12. 2 K8s: Puerta de enlace edge + HPA
yaml apiVersion: apps/v1 kind: Deployment metadata: { name: edge-gw, labels: { region: eu } }
spec:
replicas: 4 template:
spec:
containers:
- name: gw image: org/edge-gw:2. 7. 0 ports: [{ containerPort: 443 }]
env:
- { name: QOS_CLASSES, value: "P0,P1,P2" }
- { name: DENY_HEAVY_RANGE, value: "eth_getLogs>5000" }
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: { name: edge-gw-hpa }
spec:
minReplicas: 4 maxReplicas: 24 metrics:
- type: Pods pods:
metric: { name: request_latency_p95_ms }
target: { type: AverageValue, averageValue: 350m }
12. 3 Kafka: partido por región/tentante
yaml topic: "events. p0"
partitions: 96 config:
min. insync. replicas: 2 cleanup. policy: delete compression. type: zstd message. timestamp. type: CreateTime
12. 4 Políticas de residencia y exportación
yaml data_policy:
pii: { tokenized: true, cross_region_export: "deny" }
exports:
anonymized_metrics: { allowed: ["eu","uk","na"], schedule: "5m" }
hash_anchors: { allowed: ["eu","uk","na","apac"], cadence: "15m" }
13) Diagramas de datos y consultas
Catálogo de hubs y enlaces
sql
CREATE TABLE hubs (
hub_id TEXT PRIMARY KEY,
region TEXT, tier SMALLINT, status TEXT,
rtt_ms INT, cost_per_1k_ops NUMERIC,
created_at TIMESTAMPTZ
);
CREATE TABLE interlinks (
src_hub TEXT, dst_hub TEXT,
capacity_mbps INT, cost_per_gb NUMERIC,
encrypted BOOLEAN, health TEXT,
PRIMARY KEY (src_hub, dst_hub)
);
Geo-Hit Ratio и Freshness
sql
SELECT region,
100. 0 SUM(CASE WHEN served_in_region THEN 1 ELSE 0 END)/COUNT() AS geo_hit_pct,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY freshness_s) AS freshness_p95
FROM req_stats
WHERE ts >= now() - INTERVAL '24 hours'
GROUP BY region;
TPS_per_$
sql
SELECT hub_id,
AVG(tps_sustained) / NULLIF(AVG(cost_usd_hour),0) AS tps_per_usd
FROM hub_perf
WHERE ts >= now() - INTERVAL '7 days'
GROUP BY hub_id;
14) Reglamentos operativos
Diariamente: informe SLO (latency/queue-lag/freshness), auditoría de exportación/residencia, estado de las caras interhábicas.
Semanalmente: calibración de cuotas/QoS y GeoDNS, recuento de CTS/TPS_per_$, revisión de cachés e índices «calientes».
Mensualmente: ejercicios de DR (modo aislado, cambio de canal), verificación de DA/puentes.
Antes del lanzamiento: rollout canario de un hub/región, SLO-gates y plan de retroceso.
15) Incidentes de Playbook
A. Caída del canal interregional
1. Cambiar a IX redundante, habilitar la compresión/batch;
2. Hub en el modo «finalized-only»;
3. Cola de exportación - en búfer, con límite;
4. Comunicación con los participantes, post mortem.
B. Degradación local de la API p95
1. Priorizar P0, habilitar P2-throttle;
2. Aumentar las réplicas edge/API;
3. Habilitar caché sólo para métodos activos;
4. Diagnóstico de consultas pesadas, si es necesario, deny-rules.
C. Violación de la residencia
1. Bloque inmediato de exportación regional cruzada;
2. Redaction/reverso de exportación;
3. Notificación DPO/Compliance;
4. Actualización de políticas y pruebas.
D. Picky reorg/DA fallas
1. Aumentar K/ventana de disputa;
2. Habilitar «finalización delayed»;
3. Alertar a los consumidores;
4. Complementar los informes.
E. Carga desigual de hubs
1. Rebotando GeoDNS/Latency-LB;
2. Equilibrio de cuotas/precios;
3. Shaping de tráfico para afiliados/fuentes.
16) Lista de verificación de implementación
1. Seleccionar regiones/jurisdicciones y SLO de destino.
2. Diseñar topología (Hub-Spoke o Active-Active), canales/IX.
3. Funciones diferentes: Edge/API/Compute/Data/Bridge/Compliance.
4. Configurar políticas de residencia, directorio y exportación.
5. Habilitar QoS, colas, cachés y backpressure.
6. Aumentar la observabilidad y los dashboards Geo/Compliance/Perf/Costa.
7. Configurar DR (RTO/RPO), ejercicios y modo aislado.
8. Construir métricas económicas (CTS, TPS_per_$) y presupuesto.
17) Glosario
Geo-Hit Ratio es la proporción de solicitudes atendidas por «su» hub.
RPO/RTO - Objetivos de pérdida de datos/tiempo de recuperación.
Hub-and-Spoke es un nodo central con clústeres periféricos.
CRDT: estructuras de datos para la replicación libre de conflictos.
CTS per 1k ops - Costo de mantenimiento de 1000 operaciones.
TPS_per_$ - capacidad por dólar de infraestructura.
En pocas palabras: los hubs regionales convierten la red global en un conjunto de dominios locales optimizados, cumplidos y sostenibles. Con procedimientos claros de SLO, residencia, QoS y DR, reducen la latencia y el costo, aumentan la confiabilidad y permiten escalar el ecosistema sin perder la capacidad de manejo.