Supporto per sessioni Java multisito
NCache fornisce la persistenza della sessione multisito che può essere utilizzata per gestire sessioni Java servlet su più web farm (geograficamente separate) se non si desidera replicare sessioni su WAN a causa dei costi di consumo della larghezza di banda.
Per comprendere la persistenza delle sessioni multisito, considerare le applicazioni servlet Java eseguite in server farm Web con carico bilanciato che si estendono su più regioni. Un sistema di bilanciamento del carico può reindirizzare i client a diverse regioni a seconda del traffico degli utenti. Per memorizzare nella cache le sessioni Java, è necessaria una cache in cluster in modo che le sessioni si replichino tra le regioni. Questo approccio potrebbe non essere adatto a causa della replica della sessione sulla WAN. Inoltre, potrebbe sollevare problemi di prestazioni perché i nodi di memorizzazione nella cache sono geograficamente separati.
NCache Sessioni Java multisito
Per risolvere questi problemi, NCache presenta il concetto di sessioni multi-sito. La memorizzazione nella cache delle sessioni in un'applicazione Web farm geograficamente separata richiede la configurazione di cache separate in ogni area. Supponiamo di avere quattro regioni, ciascuna configurata con cache separate come CR-1, CR-2, CR-3 e CR-4. Ogni cache in cluster dispone del proprio set di client (servlet Java) come web farm. Ogni cliente configurerà il NCache filtro servlet di sessione. È necessario specificare la cache primaria (cache della regione corrente) e un set di cache secondarie (elenco delle cache di altre regioni) insieme ai prefissi definiti dall'utente per ciascun nome di cache.
Questa configurazione viene caricata all'inizializzazione di NCache filtro del provider di sessione. In questo modo, ogni client sarà a conoscenza delle cache in altre regioni. L'ID di sessione creato da NCache il provider di sessione dipende dal prefisso della cache primaria di ciascuna regione, ovvero il prefisso della cache primaria viene aggiunto agli ID di sessione di quella regione. Questi client aggiungeranno, aggiorneranno e otterranno sessioni principalmente dalla propria cache in cluster, ovvero dalla cache primaria. Tuttavia, a volte è possibile che una richiesta del client venga inviata alla web farm di un'altra posizione geografica per il bilanciamento del carico. Ora, NCache identificherà la richiesta dal prefisso della cache primaria e consentirà alle richieste dell'utente di accedere alla stessa sessione dalla cache precedente.
Per comprendere ciò, si consideri un instradamento di richiesta a una web farm della cache della regione CR-2. In questa situazione, NCache estrae il prefisso dell'ID di sessione che sarà CR-1 e cercherà il suo ID di cache nel proprio elenco di cache secondarie. Poiché tutti i client regionali avranno un set di cache di tutte le altre regioni come cache secondarie, NCache recupererà questa sessione dalla cache CR-1. NCache aggiornerà l'ID di questa sessione aggiungendo il prefisso della cache primaria corrente, ovvero CR-2, e aggiornandolo nella cache primaria corrente (CR-2) per soddisfare le richieste future.
Supponiamo che un client effettui una richiesta che passa attraverso il Load Balancer. Supponiamo che la richiesta di sessione passi al Web Server1 all'interno di una web farm in base al carico del sistema. Una volta arrivata la richiesta, viene creata una sessione con il prefisso Web Server1 aggiunto all'ID sessione e salvata nella cache primaria per questa Web farm, in questo caso Replicated Cache1.
Quando il Load Balancer instrada lo stesso client alla Web Farm2, NCache analizza il prefisso della sessione. Con l'aiuto di questo prefisso, recupera la sessione da Replicated Cache1 anche se appartiene a Web Farm1. Ciò consente di avere due o più data center attivi e di mantenere la maggior parte del traffico nel proprio data center, ma occasionalmente traboccando verso altri data center, se necessario. Puoi anche disattivare uno dei data center senza causare interruzioni agli utenti perché le loro sessioni saranno accessibili da altri data center. Oppure possiamo dire che se una delle web farm non funziona per qualsiasi motivo, altre web farm inizieranno ad accedere alle sessioni utente dalla cache di quella regione e, alla fine, tutti i dati della sessione verranno spostati nella cache nella regione successiva per evitare di perdere la sessione. dati.
NCache fornisce un'opzione di modifica senza codice per le applicazioni Web basate su Java in cui archiviare le sessioni NCache implementando il modulo di sessione nc-sessionprovider.jar come filtro servlet JSP. Per utilizzare il NCache Modulo di sessione Java, è necessario eseguire un contenitore compatibile con Servlet 2.3+ (server web). L'utente deve solo fare riferimento ad alcune librerie e aggiungere un filtro nel file web.xml dell'applicazione in modo che tutte le richieste arrivino all'applicazione NCache. Sono supportate le seguenti piattaforme J2EE/Jakarta:
- Micio
- JBoss/WildFly
- Logica web
- WebSphere
Per ulteriori informazioni su come configurare il modulo sessione multisito, fare riferimento a Provider di stato sessione multisito.
Vedere anche
Panoramica concettuale
Configurazione delle applicazioni per l'utilizzo del modulo di sessione Java
Registrazione errori