Content Delivery Network Flashcards
A che scopo nascono le content delivery network?
Nascono siccome il traffico internet è stato in continua crescita nell’ultimo decennio, quindi la tecnologia classica utilizzata per erogare servizi, ossia dove si ha un server nelle backbone che eroga il servizio a tutti i client, è posta ad un carico sempre maggiore, quindi le CDN nascono per:
- ridurre la latenza dei servizi
- utilizzare le risorse in maniera migliore
Cosa fanno e dove sono posizionati i proxy?
I proxy sono dei dispositivi, che riproducono un contenuto di livello applicativo, che vengono posti tra il server di origine ed il client
Che tipi di proxies esistono?
- reverse proxies
- forward proxies
In cosa consiste il reverse proxy?
Consiste nel fornire al server di origine un set di server frontend, che permettono di ridurre il carico sul server di origine.
Questa pratica richiede l’utilizzo di un load balancer
In cosa consiste il forward proxy?
Consiste nel mettere dei server, che replicano il contenuto in maniera logica, più vicino al client, tipicamente nella rete privata di un’azienda, oppure nella rete dell’ISP.
Questa tecnica richiede il load balancing solo se vi è più di un forward proxy all’interno della stessa rete.
Come funziona la replica dei contenuti?
La replica dei contenuti (caching) deve tenere conto di:
- la dimensione della memoria che si può avere vicino ai client è limitata, quindi si cerca di replicare solo i contenuti “popolari”, ossia quelli che sono acceduti più frequentemente da parte degli utenti.
- si otterrà quindi una curva che mostra che una piccola quantità di contenuti genera la maggior parte degli accessi
Cosa sono la località temporale e spaziale?
- La località temporale indica che quando un contenuto viene acceduto in un determinato istanza, è probabile che venga acceduto anche negli istanti successivi.
- La località spaziale indica che quando un contenuto viene acceduto da un determinato luogo, è probabile che venga acceduto anche da altri luoghi vicini
Qual’è un problema che si solleva quando si parla di caching?
Il problema della consistenza, ossia come essere sicuri che i contenuti nelle cache siano uguali alla versione presente nel origin server.
- consistenza debole: il client può sempre accedere al contenuto, anche se vi è una piccola possibilità che non sia aggiornato.
- consistenza forte: il contenuto può essere acceduto solo quando è aggiornato con l’ultima versione presente sul origin server
Quali meccanismi si usano per garantire la consistenza?
I meccanismi sono tre e sono:
- invalidation: ossia che la copia presente in cache viene invalidata una volta che la copia stessa oltrepassa il expected expire time(definito dal server origine)
- freshness: garantisce che un contenuto non sia obsoleto
- validation: per controllare se un contenuto che ha sforato il EET è comunque ancora valido
Cosa succede quando si ha un cache miss?
- o lo si richiede all’origin server
- oppure si applicano tecniche di cooperative server, ossia il contenuto viene richiesto ad un’altra cache
- flat
- gerarchico
Cosa sono le direttive?
Sono delle regole che permettono di definire come si comporta il meccanismo di caching, o tramite HTML, oppure HTTP
Quali sono alcune direttive HTTP?
- direttive imperative: ossia che hanno la priorità su tutte le altre
- sia in richieste che in risposte: (chache control: no-store / cache control: no-transform)
- solo in richieste: (cache control: on-if-cached)
- direttive relative al ciclo di vita: (date, last-modified, age, expires)
- direttive relative alle tempistiche: (max-age, min-fresh, max-stale)
Come funziona il processo di validation?
La cache invia una richiesta GET con all’interno una di queste due richieste:
- if-none-match (Etag)
- if-modified-since
Che tipi di contenuti vi sono nel web?
- contenuti statici (i più cacheati)
- contenuti volatili
- contenuti dinamici
Quali sono i problemi che non permettono di cachere molti contenuti del web?
- dinamicità (poco problematico in quanto tipicamente hanno una dim. piccola)
- volatilità (poco problematico in quanto tipicamente hanno una dim. piccola)
- dati criptati
- pubblicità