GH GambleHub

Tecnologia e infrastruttura per reti CDN e cache dei contenuti

reti CDN e cache dei contenuti

1) Perché CDN e cache

CDN (Content Delivery Network) riduce RTT e TTFB, scarica origin e stabilizza le code P95/P99. Per iGaming/Fintech è:
  • Primo byte veloce per catalogo, assetti, promo, media.
  • Stabilità di picco (tornei/iventi) senza una crescita esplosiva della capacità origin.
  • Risparmio egress e costo prevedibile.
  • Controllo geo (regolazione, licenza dei contenuti).

2) Strategie di cache di base

2. 1 Risposte che possono essere memorizzate

Statica: JS/CSS/caratteri/icone - TTL lunghi (30-365 giorni) + file-hash nel nome.
Semistatica: cataloghi di giochi, banner, confighi - TTL da minuti a ore + 'stale-while-revalidate'.
API GET/HEAD: guide, price, liderboard - TTL brevi (5-120 secondi) con chiave corretta.

2. 2 Intestazioni

`Cache-Control: public, max-age=600, stale-while-revalidate=300, stale-if-error=600`

«ETAG »/« Last-Modified» per le query condizionali (revalidation).
«Surrogate-Control »/« CDN-Cache-Control» (se il provider supporta).
Per i dati privati: «Cache-Control: no-store» (non solo «no-cache»).

2. 3 Chiave di cache (cache key)

Metodo di base + URL + query-parametri che influiscono sulla risposta.
Additivi: «Accept-Encoding» (gzip/br), «Accept» (json/webp/avif), locale («Accept-Language»), regione/valuta se influisce sui contenuti.
Evitare di entrare nella chiave dei titoli casuali (cookies, trace ids).


3) Controllo Vary e cookie

«Vary: Accept-Encoding, Accept, Accept-Language» è il set minimo richiesto.
Cookie spogliarellisti su CDN per percorsi di cache: rimuoviamo tutto tranne whitelisted (ad esempio, bandiere AB).
Sposta gli ID di sessione in sottocartelle/percorsi fuori dal contenuto di cache.


4) Pattern TTL e freschezza

Immutabile statica: 'Cache-Control: public, max-age = 31536000, immutabile' + versione nel nome del file.
SWRO/SIE: 'stale-while-revalidate'e'stale-if-errò - Resistenza UX in caso di problemi origin.

Partitioned TTL: root list - 30-60 secondi carta di gioco - 5-10 min; banner da 30 minuti

API mix: guide di base - 5-30 min. valute/limiti - 1-5 min; liderborde 2-15 secondi.


5) Tiered caching и origin shield

Tiered/Regione cache - Le richieste passate da edge si battono in «shield» regionale invece di origin.
I vantaggi sono meno MISS per origin, alleggerimento delle tempeste, meno egress.
Raggruppare gli scudi per geo con la più alta densità di traffico (EU, TR, BR, LATAM).


6) Disabilità e riscaldamento

Purge by path/prefix/tag: i tag sono facili da pulire in batch (rilascio catalogo, campagna promozionale).
Soft purge - contrassegniamo i contenuti obsoleti, ma li consegniamo prima che ne arrivi uno nuovo.
Riscaldamento (prewarm) - Gli scenari di presentazione/prima del torneo sono un sondaggio dei percorsi popolari, la generazione di sprite e variazioni di immagini.
Disabilità canaresca: pulita parzialmente, valuta metriche/errori, poi espandiamo.


7) Regole e funzioni Edge (Workers/Functions)

Sovrascrivere le risposte: aggiunta di titoli di cache, normalizzazione di Vary, spogliarellismo cookie.
Routing Geo/ASN: ready, locale/valuta nazionale.
Firma URL (Signed URLs/Headers) per oggetti/media protetti.
Test Edge-AB: leggeri, senza aumento del carico di lavoro origin (solo statico/semistatico).
Edge-compute è un render di widget leggeri/personalizzazione, ma non un percorso di pagamento caldo.


8) Immagini e video

8. 1 Immagini

Conversione automatica «Accept» client; «Vary: Accept».
Recupero su edge: opzioni «w/h/fit/quality»; preparate i preset (carta, striscione, prevendita).
Sprite e ottimizzazione SVG, lazy-loading sul fronte.

8. 2 Video/strame

HLS/DASH con segmenti brevi (2-4 secondi), playlist sovrapposte.
Proload i segmenti più vicini e «stale-if-errore».
Per le scommesse live, tenete i segmenti in shield regionale per ridurre il TTFB.


9) API via CDN

GET contenenti: aggiungi «Cache-Control» e la chiave corretta (locale/valuta/regione).
Conditional GET: 'ETAG '/' If-None-Match' riduce byte e TTFB.
POST/PUT - Non vengono memorizzati; le risposte POST possono essere memorizzate solo con regole esplicite e semantiche idipotenti (raramente giustificate).
Rate limiting/WAF sul bordo: riduce le code tagliando bot/anomalie.


10) Sicurezza, accesso e compilazione

WAF/bot management: firme, euristi comportamentali, protezione dagli scanner bonus.
Signed URLs/Headers per i media e download privati.
mTLS к origin и IP allow-list.
GDPR/PII/PCI: non memorizzare dati sensibili; API con risposte personali - «no-store».
Filtri geo/blocchi ai margini per i regolatori di mercato.


11) Rete e protocolli

Attivare HTTP/2/3 su CDN, TLS resumption e OCSP stapling.
Brotli (br) per i formati di testo, gzip - fallback.
Il sintonizzatore TCP/QUIC (provider) ha meno impatto sulle perdite, soprattutto sulla rete mobile.


12) Osservabilità e SLO per CDN

Metriche (per edge e shield):
  • Hit Ratio (overall e prefissi), Origin Offload.
  • TTFB P50/P95/P99 per regione/ASN.
  • Throughput/Errors per codici di stato (edge/origin).
  • Purge latency (tempo di consegna invalidità).
  • Immagine transfer latency (se si utilizza il ricevimento sul bordo).
Esempi SLO:
  • Catalogo di giochi: TTFB P95 da 150 ms, Offload da 85%.
  • Media (immagini): Hit Ratio al 90%, errori di trasformazione <0. 1%.
  • API GET «manuali»: TTFB P95 da 200 ms, Revalidation Hit da 60%.

13) FinOps: costo della cache

Offload = meno egress con origin → dritto $ -.
Tiered + shield tagliano «tempeste» e il carico di lavoro di MISS.
L'ottimizzazione delle immagini (AVIF/WebP/resize) consente di risparmiare più traffico.
Controllate il P95 del peso della risposta e le «care MISS» (byte x paletto x regione).


14) Confighi e regole (frammenti)

14. 1 Intestazioni origin (Nginx)

nginx статика с версионированием location ~ \.(css    js    woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}

полустатика каталога location /catalog/ {
add_header Cache-Control "public, max-age=300, stale-while-revalidate=600, stale-if-error=600";
add_header Vary "Accept, Accept-Language";
}

14. 2 Normalizzazione della chiave su edge (pseudo)

js addRule((req) => {
// очищаем шум req.cookies.clearExcept(['ab', 'locale']);
// ключ = method+path+критичные query key = `${req.method}:${req.path}?lang=${q.lang}&currency=${q.cur}`;
req.setCacheKey(key);
req.setVary(['Accept', 'Accept-Encoding', 'Accept-Language']);
});

14. 3 Signed URL (idea)


/media/{path}?exp=1735707600&sig=HMAC_SHA256(secret, path    exp    ip)
На edge: проверка exp и подписи, опционально привязка к IP/ASN.

15) Processi di rilascio e utilizzo

Release hooks: purge automatico per tag/prefissi dopo il deposito.
Lista Prewarm: percorsi top per traffico/conversione - riscaldare in anticipo.
Catalogo di matrice TTL coerente con il prodotto/marketing.
Incidenti: con la crescita di MISS/TTFB - includiamo stale-if-errore, «togliamo» costose trasformazioni su edge prima della stabilizzazione origin.


16) Assegno-foglio di implementazione

1. Mappa dei contenuti (statica/semistatica/API) e matrice TTL.
2. Corretti «Cache-Control», «ETAG/Last-Modified», «Vary».
3. Chiave di cache senza rumore, cookie stripping, whitelists.
4. Tiered cache + origin shield per regione.
5. Purge per tag/prefissi, soft purge, prewarm procedure.
6. Funzioni Edge: normalizzazione, geo-logica, Signed URLs.
7. Ottimizzazione delle immagini (WebP/AVIF/resize), segmenti HLS per il video.
8. Filtri WAF/bot, geo-vincoli, mTLS all'origin.
9. SLO-dashboard: TTFB, Hit Ratio, Offload, errori di trasformazione.
10. Report FinOps: $/GB, cari MISS, regioni leader egress.


17) Anti-pattern

«no-cache» dappertutto «per sicurezza».
La chiave di cache include tutte le intestazioni/query di Hit Ratio zero.
Cookie dipendenti per la statica (rompe l'intera cache).
Pulisce l'intero CDN a ogni rilascio.
Una lunga trasformazione sincrona su edge durante i picchi.
L'assenza di «stale-while-revalidate »/« stale-if-error» è un drammatico degrado UX.
Cache dati/risposte personali senza «no-store».


18) Contesto iGaming/fintech: note pratiche

Tornei/Ivent: TTL brevi per i liderboard (2-10 secondi) + SWR; prewarm carte giochi e banner.
Geo-licenza: edge-blocchi/reading nazionale, valuta/locale in chiave cache.
Promo e coupon: memorizziamo in cache i banner/condizioni, ma non i limiti personali.
Giochi responsabili: pagine di criteri/limiti - Semistatica con SWR; i dati personali sono solo «no-store».
PSP/KYC webhoop: non tramite CDN o edge-pass-through senza cache e con timeout rigido.


Totale

Una forte strategia CDN è il giusto titolo e chiave di cache, tiered/shield per ridurre MISS, le funzioni edge per normalizzazione e protezione, invalidità/riscaldamento per rilascio rapido e osservabilità con SLO e FinOps. Rispettando questi principi, si ottiene un perimetro veloce ed economico che regge i picchi e rende TTFB prevedibile per utenti e partner.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.