Edge computación y control latency
1) Por qué edge y qué es latency control
Edge es la ejecución de una lógica más cercana al usuario (PoP, CDN, PoP local del operador, 5G AMB). El objetivo es reducir el RTT y las «colas» (p95/p99), descargar el núcleo y garantizar el geo-cumplimiento de las reglas.
Latency control es un conjunto de técnicas arquitectónicas y protocolarias que mantienen la latencia en los SLO dados en picos, pérdida de paquetes y degradación de dependencias.
Ideas clave: localidad, asincronía, degradación con prioridad de valor.
2) Mapa del perímetro
CDN Static/Assets: almacenamiento en caché, imagen/transformación HTML, Brotli, WebP/AVIF, HTTP/3.
Edge compute: funciones/workers (Cloudflare Workers, Fastly Compute @ Edge, Vercel Edge, Fly. io).
Edge data: KV/SQLite-on-edge/Durable Objects/Global Tables (con reservas de consistencia).
Edge security: WAF/Rate limit/Bot mgmt/Geo-rules/HMAC validación.
Edge networking: optimización Anycast, smart routing, TCP/QUIC.
3) Patrones de colocación de lógica
Shielding & warmup: capa de origen-escudo, calentar/pintar llaves populares.
Compute-on-read: personalización de banners, ramificación A/B, geo-redirecciones.
Pre-auth en edge: validación de JWT/HMAC, desechando «basura» al núcleo.
Rueda de escritura: escribe eventos personalizados en una cola edge con entrega asíncrona al núcleo (¡idempotencia!).
Características flags @ edge: interruptores de degradación rápida (modo de página/directorio «ligero»).
4) Protocolos y transporte
HTTP/3 (QUIC): menor handshake-overhaed, resistencia a la pérdida de paquetes. Incluya 0-RTT sólo para GET/HEAD idempotente.
Tuning TCP (para HTTP/1. 1/2): BBR/CUBIC, `tcp_fastopen`, `keepalive`, connection pooling.
TLS: OCSP stapling, ECDSA-серты, session resumption; HSTS en el perímetro.
DNS: breves TTL (30-120s) para altavoces, split-horizon, resolvers anycast.
5) Control de «colas»: p95/p99
Solicitudes Hedged: Duplique la solicitud para el segundo backend después del «inicio de la línea» (por ejemplo, p90 latencia) y cancele el perdedor.
Propuesta de Deadline: pase 'x-deadline-ms'/' grpc-timeout' para que la cadena no supere el SLA.
Adaptive concurrency: limite el paralelismo a root/tenant por observed-latency (AIMD).
Bulkhead & priority: las rutas críticas (inicio de sesión/depósito) reciben una cuota y una cola por encima de la clase.
6) Taimautas, retraídas e idempotencia
Total deadline < per-hop timeout × N; retraídas sólo para operaciones idempotentes.
Backoff + jitter (retrasos semi-aleatorios), hedging en lugar de retraídas ciegas.
Idempotency-Key para POSTS (monederos/pagos/bonos).
Retry-After y consejos del cliente (429/503) con ventanas exponenciales.
Envoy (fragmento de ruta)
yaml route:
timeout: 300ms retry_policy:
retry_on: "reset,5xx,connect-failure"
num_retries: 1 per_try_timeout: 150ms retry_host_predicate:
- name: envoy. retry_host_predicates. previous_hosts host_selection_retry_max_attempts: 3 hedge_policy:
initial_requests: 1 additional_request_chance: { default_value: 0. 5} # enable after per-timeout
7) Almacenamiento en caché y consistencia
Cache key disciplina: la normalización de las cabeceras/query, Vary por los campos deseados.
Stale-while-revalidate: retorno instantáneo «un poco obsoleto» + actualización de fondo.
Soft TTL/Hard TTL: obsolescencia suave para rutas de lectura, TTL rígidas para configuraciones críticas.
Signed exchanges/Signed URLs: proteja los recursos en caliente, incluidas las restricciones regionales.
NGINX (ejemplo SWR)
nginx proxy_cache_valid 200 10m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_504;
add_header Age $upstream_cache_status;
8) Edge-workers: ejemplos
Cloudflare Workers (JWT + Geo)
js export default {
async fetch(req, env, ctx) {
const url = new URL(req. url);
const { country } = req. cf {};
//Simple geo-policy if (country & &! ["DE, ""PL, ""SE,"" UA"] .includes (country)) {
return new Response("Region not served", { status: 451 });
}
//Easy JWT validation const token = req. headers. get("Authorization")?.replace("Bearer ","");
if (!token! isValid(token, env. JWTPUB)) return new Response("",{status:401});
//Prefetch critical data const resp = await fetch ("https ://origin. internal/api/v1/catalog", { cf:{ cacheTtl: 60, cacheEverything: true }});
return new Response(resp. body, resp);
}
}
Fastly Compute @ Edge (Canarias en peso)
En hostales/páginas - 5% para la nueva versión, retroceso rápido a través de edge-config.
9) Priorización y degradación
Priority hints: prioridades HTTP/2/NTTR Early Hints (103) → inserción temprana de recursos críticos.
Degrade path: template simplificado de UI, desactivar widgets pesados, reducir la calidad de las imágenes.
Traffic shaping: restringir las animaciones, widgets de proveedores de terceros cuando la red es deficiente (señales RUM).
10) Observabilidad en el perímetro
RUM + Synthetic: Web-Vitals (LCP/CLS/INP), TTFB, RTT, потери QUIC.
Exemplars: Asocia p99 spikes con trace_id y PoP específicos.
SLO por región/ASN/proveedor: «p95 TTFB ≤ 200 ms',» p99 API ≤ 400 ms'.
Tail-sampling: guardar errores/p99, por segmentos 'edge _ pop', 'region', 'tenant'.
Edge logs: WAF hits, bot-score, cache-status, soluciones geo.
11) Administración de scripts de terceros
Política de integración de CSP y Subresource.
Carga por defer/async, dominios aislados, rutas críticas - sin JS de terceros bloqueadores.
Personalización y seguimiento - realizar en edge asíncrono, sin afectar a TTFB.
12) Antibot/antifraude en edge
Device fingerprint y velocity limites hasta el núcleo.
Token binding (tokens desechables por formulario/operación), firma HMAC de la solicitud.
Desafío-paso (Turnstile/hCaptcha) sólo en caso de mayor riesgo; caché «confianza» por IP/ASN/sesión.
13) Especificidad de iGaming/finanzas
Geo-compliance: bloqueo/redirección por jurisdicción a edge (páginas de reglas, Juego responsable).
Prioridad PSP/KYC: enrutamiento edge en un proveedor «sano» (enrutamiento inteligente), TTL/pesos separados en DNS para dominios PSP.
Anti-abuse: límites para depósitos/registros/bonificaciones, teniendo en cuenta las señales de velocity en edge; todas las operaciones de escritura son idempotentes.
Residencia de datos: los datos personales no se almacenan en caché en edge; Los encabezados PII se editan/eliminan, el pinning TLS está habilitado en PSP.
CLO para rutas «monetarias»: p95/p99 más estrictas, cuotas asignadas, alertas individuales.
14) Recetas arquitectónicas
14. 1 «Frente rápido»
Plantilla HTML y CSS crítico en edge, los datos son a través de 'stale-while-revalidate', los widgets heavy son perezosos.
14. 2 «Camino del Dinero»
Pre-auth + HMAC en edge, revisiones rápidas de reglas/límites, publicación en cola, respuesta de 202/OK, seguimiento de webhook/polling; dlines y hedging a PSP.
14. 3 «Catálogos/Juegos»
Directorios/configuraciones - caché KV/edge global; para el precio/edad regional - compute-on-edge con reglas locales.
15) Rendimiento y costo
Caché ≥ 95% para estática y ≥ 70% para semi-altavoz (fragmentos HTML) es el punto de referencia de destino.
Reduzca el «egreso regional cruzado» a través de las respuestas PoP y stale locales.
Las reglas de Tail Training limitan el volumen de × de 10- × 100 mientras se mantienen casos valiosos.
El protocolo QUIC ahorra RTT, pero mantenga el back en H2.
16) Lista de comprobación prod
- HTTP/3/QUIC habilitado; 0-RTT sólo para los idempotentes.
- Edge-workers: JWT/HMAC validación, geo-reglas, feature-flags degradación.
- Estrategia de caché: claves, SWR, soft/hard TTL; origin-shield + calentamiento.
- Hedging, deadline-propagation, concurrency adaptativo, bulkheads.
- Taimauts/retraos: backoff + jitter, sólo repeticiones idempotentes.
- RUM+synthetic; SLO por región/ASN; tail-sampling p99/error.
- CSP/SRI y control de scripts de terceros; WAF/bot-scoring en edge.
- Para iGaming: geo-compliance, smart-routing PSP, idempotencia write, sin PII en la caché.
- Runbooks: cómo habilitar la degradación/cambiar de peso/retroceder a Canarias.
- Pruebas: latencia bajo pérdida del 1-3%, retrasos del caos, rehearse-feolover DNS.
17) TL; DR
Entrega la lógica lo más cerca posible del usuario (edge-workers + cache), habla por HTTP/3/QUIC, controla con rigor los timeouts/deadline, «corta las colas» p99 hedging 'om y bulkhead/priority. Las rutas críticas - cuotas individuales y SLO, todos los registros - son idempotentes. La observabilidad es RUM + synthetic + tail-tracing. Para iGaming: geo-compliance, smart-routing PSP/KYC, cero fugas PII en el perímetro y modos de degradación rápidos.