GH GambleHub

Optimización de la reducción de CDN y latency

1) Objetivos y tarjeta de retraso

Latency = DNS + TCP/TLS + TTFB (servidor/origin/caché) + entrega de contenido (RTT × volúmenes) + renderizado del cliente.
Optimización = Reduzca la cantidad de RTT, reduzca los bytes y lleve los cálculos/caché más cerca del usuario.

2) Arquitectura CDN

Anycast POPs es un nodo cercano de enrutamiento BGP.
Tiered caching/Origin Shield es una capa intermedia «paraguas» que reduce la tormenta de miss en la origina.
Geo-/Ruta Regional - enlace tenant/jurisdicción (soberanía de datos, licencias).
Failover es un origin/región de respaldo, muestras de salud y un interruptor rápido.

3) Caché: claves, encabezados, estrategias

3. 1 Claves de caché (cache key)

Por defecto: 'scheme + host + path +? query'.
Agregue sólo los parámetros que desee ('? v =', '? lang =', '? tenant ='). El resto están en ignore-params.
'Vary' es mínimo: 'Accept-Encoding', 'Accept-Language' (si la verdad es necesaria), 'Authorization' suele romper la caché.

3. 2 Políticas

Estática pública: 'Cache-Control: public, max-age = 31536000, immutable' + rev (hash en el nombre).
Semidinámica (directorios, reglas, FAQ): 's-maxage = 300, stale-while-revalidate = 600, stale-if-error = 86400'.
API-GET: use ETag/Last-Modified, 'SWR/SIE', active el coalescing (una solicitud de tecla de acceso rápido).
Privado: respuestas personales - en el perímetro a través de edge-compute (ESI/kv) o caché de per-tenant.

3. 3 Anti-tormenta

Request coalescing - capturar consultas de miss simultáneas.
Serve-stale: permite dar un objeto obsoleto cuando un origin falla.
Revalidación de fondo: actualice en el fondo.

4) HTTP/2-3, TCP/TLS y retorno temprano

HTTP/2: multiplex, compresión de encabezados; limite 'max concurrent streams', grandes titulares.
HTTP/3 (QUIC): reducción importante de TTFB en pérdidas móviles/altas; siga los umbrales Inicial y Retry.
TLS 1. 3: 1-RTT handshake; OCSP stapling; HSTS.
0-RTT: solo para los 'GET' idempotentes y si se tienen en cuenta los riesgos de replay.
103 Early Hints: los primeros 'Link: rel = preload' para recursos críticos.
Preconnect / DNS-prefetch: `<link rel="preconnect" href="https://cdn. example">`.

5) Edge-compute y «personalización sutil»

En el borde: censo de encabezados, fijación geo/tenant, etiquetado A/B, fácil personalización sin solicitud de origin.
Regla: no almacenar PII en nodos POP; sólo almacenar en caché los datos agregados/públicos.

6) Optimización de medios y formatos

Imágenes: conversión automática a WebP/AVIF, resize-on-edge, 'srcset/sizes', 'lazyload'.
Compresión: Brotli para textos (HTML/CSS/JS/JSON), gzip fallback.
Vídeo: HLS/DASH, CDN-segment caching, 'preload = metadata', póster.
Fuentes: subset + 'font-display: swap'; hosting con caché larga.
CSS crítico: primera pantalla en línea; el resto es async.

7) Patrones API y almacenamiento en caché

Idempotent GET: almacena en caché las claves de la consulta (incluida la versión de datos).
ETag: fuerte hash de carga útil + 'If-None-Match'.
Surrogate-Control (especificidad CDN) para diferenciarse de 'Cache-Control' del cliente.
URLs señalizadas - para estática privada/medios de comunicación.
GraphQL: normalice la clave de caché por operación/variable; utilice caching parcial/caché de solventes.
WebSockets: para el tiempo real - acortar los mensajes, comprimir (permessage-deflate), colocar las bolas WS más cerca del usuario.

8) Ejemplos de configuraciones

8. 1 NGINX (origin: caché API-GET)

nginx
We give SWR and ETag location/api/v1/catalog/{
proxy_cache api_cache;
proxy_cache_key "$scheme$request_method$host$uri$is_args$args";
proxy_cache_valid 200 5m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_503 http_504;
add_header Cache-Control "public, s-maxage=300, stale-while-revalidate=600, stale-if-error=86400";
add_header ETag $upstream_http_etag;
proxy_ignore_headers Set-Cookie; # do not break the Set-Cookie proxy_hide_header cache;
proxy_pass http://catalog;
}

8. 2 Fastly VCL (SWR, coalescing, ignore cookies)

vcl sub vcl_recv {
set req. hash_ignore_busy = true;   # coalescing if (req. url. qs ~ "^(?!.(lang    v)=)") { remove req. url. qs; }
if (req. http. Cookie) { remove req. http. Cookie; }
}

sub vcl_backend_response {
set beresp. ttl = 300s;
set beresp. stale_if_error = 86400s;
set beresp. stale_while_revalidate = 600s;
if (beresp. http. Set-Cookie) { unset beresp. http. Set-Cookie; }
}

8. 3 Cloudflare (Transform Rules, Cache Rules, Early Hints — псевдо)

json
{
"cache_rule": {
"if": "http. request. uri. path matches \"/assets/.\"",
"action": {"cache": {"eligibility":"eligible", "ttl": 31536000}}
},
"transform_rule": {
"set_headers": [{"name":"Cache-Control","value":"public, s-maxage=300, stale-while-revalidate=600"}]
},
"early_hints": {"enable": true}
}

9) Redes móviles e Internet «insostenible»

Use HTTP/3 de forma agresiva; reduzca el tamaño de la ruta crítica (HTML + critical CSS <14 KB).
Priority H2/H3: priorizar (HTML→CSS→JS→media más adelante).
Política retray con jitter, idempotency para API.
Size-budgets y bandling: código splitting, JS deferred, eliminación de CSS/JS no utilizado.

10) Observabilidad y SLO

RUM: TTFB, LCP, INP, CLS por región/ASN/tenantes; distribuciones p95/p99.
Sintética: ruta de control "/health/cdn' por POP-am.
Métricas de caché: hit-ratio overall y per-key; origin fetch rate; coalescing savings.
Alertas: caída de hit-ratio, crecimiento de origin-egress, degradación de H3-share, 5xx por shield.

11) Especificidad de iGaming/finanzas

Catálogos de juegos/coeficientes: short 's-maxage' + SWR; region-aware ключ (`tenant|region|lang`).
Picos de eventos (partidos, sorteos): calentar el caché (pre-warm), «congelar» las personalizaciones pesadas, fuentes mirror.
Pago/gabinete: no caché privado, pero acelerar a través de H3 + edge-TLS y la región cercana.
Jurisdicciones: dominios separados/rutas por región; control 'Vary: X-Region'.

12) Antipatternas

'Vary:' en todas las seguidas; la clave caché depende de las cookies/encabezados adicionales.
La ausencia de SWR/SIE → «pantallas negras» en fallos cortos de la origina.
Borra la caché «en todo» en lugar de la discapacidad puntual por etiquetas/llaves.
Recursos sin revisión de nombres y con 'max-age = 0'.
Global deny-cache para 'Authorization' incluso donde se da al público.
La ausencia de coalescing → una tormenta en la origina.
Personalización «pesada» prematura en POP.

13) Lista de comprobación prod

  • Anycast POP + tiered/shield; chequeos de salud y failover de origen.
  • Las claves de caché son mínimas; ignorar las query/cookies superfluas; 'Surrogate-Control'.
  • SWR/SIE habilitado, coalescing activo; serve-stale en caso de errores.
  • HTTP/3 habilitado; TLS 1. 3; 103 Early Hints está configurado para recursos críticos.
  • Imágenes: AVIF/WebP, resize-on-edge; Brotli para textos.
  • API-GET с ETag/Last-Modified; idempotencia/retraídas; no almacenar en caché perfiles privados.
  • Preconnect a dominios estáticos; CSS crítico en línea.
  • Métricas: hit-ratio, origin-egress, TTFB/LCP p95, H3-share, por regiones/tenantes.
  • Plan de calentamiento de caché antes de eventos; Discapacidad puntual (etiquetas).
  • Documentación Vary/keys/TTL; un playbook de incidentes (caída de hit-ratio).

14) TL; DR

Reduzca al mínimo las caminatas al origin: tiered/shield + cache-keys + SWR/SIE + coalescing correctos. Habilite el HTTP/3/TLS 1. 3, utilice 103 Early Hints y preconnect. Comprimir y convertir medios en el borde, inline CSS crítico. Para la API - ETag, pulcro 'Vary', idempotencia y caché razonable 'GET'. Mide hit-ratio, TTFB/LCP p95, origin egress y calienta la caché en picos de antemano.

Contact

Póngase en contacto

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

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.