Voglio sapere la differenza tra le sessioni appiccicose e non appiccicose. Cosa ho capito dopo aver letto da internet:
Appiccicoso : sarà presente solo l’object a sessione singola.
Sessione non appiccicosa : object di sessione per ogni nodo del server
Quando il sito Web viene servito da un solo server Web, per ogni coppia client-server, viene creato un object sessione che rimane nella memoria del server Web. Tutte le richieste dal client si rivolgono a questo server Web e aggiornano questo object di sessione. Se alcuni dati devono essere memorizzati nell’object di sessione nel periodo di interazione, vengono memorizzati in questo object di sessione e rimangono lì finché esiste la sessione.
Tuttavia, se il sito Web è gestito da più server Web che si trovano dietro un sistema di bilanciamento del carico, il servizio di bilanciamento del carico decide a quale server web (fisico) effettivo deve essere assegnato ogni richiesta. Ad esempio, se ci sono 3 server Web A, B e C dietro il servizio di bilanciamento del carico, è ansible che http://www.mywebsite.com/index.jsp sia servito dal server A, http://www.mywebsite.com/login.jsp è servito da il server B e http://www.mywebsite.com/accoutdetails.php sono serviti dal server C.
Ora, se le richieste vengono servite da (fisicamente) 3 server diversi, ogni server ha creato per te un object di sessione e poiché questi oggetti di sessione siedono su tre caselle indipendenti, non c’è modo diretto di sapere cosa c’è nell’object di sessione dell’altro. Per sincronizzare tra queste sessioni del server, potrebbe essere necessario scrivere / leggere i dati della sessione in un livello comune a tutti, come un DB. Ora scrivere e leggere i dati da / verso un db per questo caso d’uso potrebbe non essere una buona idea. Ora, ecco il ruolo di sticky-session .
Se al bilanciamento del carico viene richiesto di utilizzare sessioni persistenti, tutte le interazioni avverranno con lo stesso server fisico, anche se sono presenti altri server. Pertanto, l’object della tua sessione sarà lo stesso per tutta la tua interazione con questo sito.
Per riassumere, In caso di Sticky Session, tutte le richieste saranno indirizzate allo stesso server web fisico mentre nel caso di un loadbalancer non appiccicoso può scegliere qualsiasi server web per soddisfare le tue richieste.
Ad esempio, puoi leggere su Elastic Load Balancer di Amazon e sessioni appiccicose qui: http://aws.typepad.com/aws/2010/04/new-elastic-load-balancing-feature-sticky-sessions.html
Ho fatto una risposta con ulteriori dettagli qui: https://stackoverflow.com/a/11045462/592477
Oppure puoi leggerlo lì ==>
Quando usi loadbalancing significa che hai diverse istanze di tomcat e devi dividere i carichi.