Un esempio di HTTP Session Replication

La sticky session assicura che un client sia sempre servito dalla stessa istanza di JBoss in modo da conservare il session state. Se un nodo viene chiuso o la macchina su cui sta girando subisce un crash, la sessione è persa.

Replicando la sessione tra gli altri nodi è possibile fare in modo che in caso di malfunzionamento di un nodo il load balancer reindirizzi il client su un altro nodo disponibile.

Figure 6.1: Funzionamento del load balancer e dell’HTTP session replication, fonte

L’HTTP Session Replication viene implementata inserendo nella cartella WEB-INF del modulo web il file jboss-web.xml. Eccone il contenuto in RubricaWeb:

L’elemento replication-trigger definice quando l’application server deve replicare la sessione. Replication-granularity permette di definire cosa replicare. La combinazione SET e ATRRIBUTE permette che la sessione sia replicata solo quando vengono richiamati metodi setAttribute della sessione, in modo da ottimizzare la performance.