Caching CDN: Strategia di Distribuzione CloudFront
Questo articolo spiega come utilizziamo la CDN CloudFront per memorizzare il contenuto in cache e migliorare le prestazioni globali.
Il Problema: Latenza Globale
Gli utenti accedono al nostro sito web da tutto il mondo:
-
India: 50ms di latenza
-
USA: 200ms di latenza
-
Europa: 250ms di latenza
-
Asia: 150ms di latenza
Servire tutto il traffico dall'India causa caricamenti lenti delle pagine per gli utenti internazionali.
La Soluzione: CDN CloudFront
CloudFront: Content Delivery Network di AWS
Edge locations: Oltre 400 località in tutto il mondo
Vantaggio: Contenuto servito dalla località più vicina
Cosa Viene Memorizzato in Cache
Asset Statici (TTL Lungo)
Contenuto: Immagini, CSS, JavaScript, font
TTL: 1 anno
Percorso: /s/*
Vantaggio: Cambia raramente, cache aggressiva
Pagine Prodotto (TTL Medio)
Contenuto: Specifiche prodotto, immagini
TTL: 1 ora
Percorso: /p/*
Vantaggio: Bilancia freschezza e prestazioni
Pagine di Ricerca (TTL Breve)
Contenuto: Risultati di ricerca, viste filtrate
TTL: 5 minuti
Percorso: /q/*
Vantaggio: Aggiornamenti frequenti, cache breve
Articoli (TTL Lungo)
Contenuto: Documentazione tecnica
TTL: 24 ore
Percorso: /a/*
Vantaggio: Cambia raramente
Cosa NON Viene Memorizzato in Cache
Contenuto dinamico:
-
Risultati di ricerca (
/q/?q=<query>) -
Contenuto specifico per utente (carrello, account)
-
Endpoint API (
/api/*)
Motivo: Deve essere fresco, specifico per utente
Comportamento della Cache
Chiave di Cache
CloudFront utilizza l'URL come chiave di cache:
Stesso URL: Servito dalla cache
URL Diverso: Nuova voce in cache
Parametri di query: Inclusi nella chiave (tranne i parametri di tracciamento)
Intestazioni di Cache
Il server di origine imposta le intestazioni di cache:
Cache-Control: public, max-age=3600
public: Può essere memorizzato in cache dalla CDN
max-age: Durata della cache in secondi
Invalidazione della Cache
Manuale: Crea una richiesta di invalidazione
Automatica: Attendi la scadenza del TTL
Costo: Primi 1.000 percorsi gratuiti al mese
Vedi: CACHE_INVALIDATION_RULE.md per la policy
Protezione dell'Origine
La CDN protegge il server di origine:
Assorbimento del traffico: La CDN gestisce i picchi di traffico
Mitigazione DDoS: Filtra il traffico malevolo
Limitazione della frequenza: Previene il sovraccarico dell'origine
Vantaggio: L'origine rimane reattiva
SSL/TLS
Certificato: AWS Certificate Manager
Protocollo: TLS 1.2+
Vantaggio: Traffico crittografato, certificato gratuito
Compressione
Gzip: Abilitato per contenuti testuali
Brotli: Abilitato per browser moderni
Vantaggio: Download più veloci, minore larghezza di banda
Restrizioni Geografiche
Nessuna: Disponibile in tutto il mondo
Vantaggio: Portata globale
Monitoraggio
Metriche:
-
Tasso di riscontri in cache (cache hit rate)
-
Richieste all'origine
-
Tasso di errore
-
Latenza per regione
CloudWatch: Servizio di monitoraggio AWS
Ottimizzazione dei Costi
Tasso di riscontri in cache: Più alto = costi più bassi
Richieste all'origine: Meno = costi più bassi
Trasferimento dati: In cache = più economico
Vantaggio: La CDN riduce i costi dell'infrastruttura
Riferimenti
Servizi AWS
-
CloudFront - Documentazione CDN AWS
-
Certificate Manager - Certificati SSL
Articoli Correlati
- Architettura Multi-Server - CDN nell'architettura
Riepilogo
La CDN CloudFront migliora le prestazioni globali:
Contenuto in cache:
-
✅ Asset statici (TTL 1 anno)
-
✅ Pagine prodotto (TTL 1 ora)
-
✅ Pagine di ricerca (TTL 5 minuti)
-
✅ Articoli (TTL 24 ore)
Non in cache:
-
✅ Ricerca dinamica
-
✅ Contenuto specifico per utente
-
✅ Endpoint API
Vantaggi:
-
✅ Latenza inferiore (edge locations)
-
✅ Protezione dell'origine (assorbimento del traffico)
-
✅ Mitigazione DDoS
-
✅ Riduzione dei costi (meno richieste all'origine)
Funzionalità:
-
✅ Crittografia SSL/TLS
-
✅ Compressione Gzip/Brotli
-
✅ Disponibilità globale
Questa strategia CDN bilancia prestazioni, freschezza e costi.