Chi sono
Fabrizio Balliano
@fballiano
PHP dal 1999
Magento dal 2007
magento.com/it admin
Full time Magento dal 2011
CTO di Sevenlike S.r.l.
Cos'è varnish
Web application accelerator
Reverse proxy
HTTP
Cache server
Enorme guadagno di velocità
Minor carico CPU
Minor traffico di rete
Soluzione full RAM
Cos'è varnish per Magento
Full Page Cache
- HTML pre renderizzato
Asset statici
- JS/CSS
- Immagini
esempio di infrastruttura
percorso visitatori
pagina non in cache
percorso visitatori
pagina in cache
Il problema è...
I server web
non sono a conoscenza
di una visita
ad una pagina in cache
Possiamo tracciare i visitatori
in altri modi no?
Molti software di tracciamento moderni
(in realtà servizi)
sono basati su javascript
Qualcuno ha detto Google Analytics?
E se volessimo tracciare un visitatore
all'interno di MAGENTO?
Personalizzare l'esperienza di browsing
in base al comportamento del visitatore
Report a backend
ad esempio
Un altro esempio
un altro ancora
ma... se i server di frontend
non ricevono le richieste...
queste feature
(e altri tipi di tracciamento)
non possono funzionare
Cookies / localstorage?
Possiamo utilizzarli per ricreare i "recently viewed"?
Sì, ma non è abbastanza in molti casi.
Risolve solo parte del problema.
Torniamo al nostro percorso
Notate qualcosa?
Blocchi dinamici!
Tipi di blocchi dinamici
ESI: Edge Side Includes
- Invisibili ai client
- Prima del page load
- Possono essere in cache
-
tutto il sito/una pagina
-
un solo utente/tutti
-
NO COOKIES!
- Pochi dati trasferiti
AJAX
-
Visibili ai client
-
Dopo il page load
-
Can NOT be cached
-
COOKIES!
-
Molti dati trasferiti
Reference della configurazione
Aggiungiamo un nuovo blocco dinamico!?
Hey, aspetta!
Ogni chiamata ai server web
è importante!
Possiamo raggiungere l'obiettivo
senza aggiungere un nuovo
blocco dinamico ESI/AJAX?
Flash messages!
PATCH al CORE?
MAI!
Flash messages: estendiamoli
Flash messages: estendiamoli
class Fballiano_TurpentineRecentlyViewed_Block_Messages extends Nexcessnet_Turpentine_Block_Core_Messages
{
public function _prepareLayout()
{
// code to do whatever we want
return parent::_prepareLayout();
}
}
THANK YOU!
Tracciare i visitatori nonostante Varnish
By Fabrizio Balliano
Tracciare i visitatori nonostante Varnish
Usare Varnish come contenitore per la Full Page Cache dei tuoi progetti porta grandi benefici ma anche qualche limitazione. Una di queste e che i server web non saranno a conoscenza del percorso di visita completo degli utenti. Questa presentazione è stata creata per il Meet Magento Italia 2015.
- 1,548