Sessioni Web Java con NCache

Sessioni sono un modo per memorizzare i dati per utenti distinti. Gli oggetti sessione Java, realizzati sul server delle applicazioni, chiamati contenitori servlet che ospitano l'applicazione Web, all'interno di un servlet Java o di una pagina JSP (Java Server Page) includono Apache Tomcat, WildFly, Web Logic ed Sfera Web.

Ad esempio, il server Web Tomcat fornisce la gestione della sessione tramite la replica della sessione su cluster di server Web Tomcat. La replica della sessione può causare un sovraccarico di dati e memoria, rallentando e riducendo le prestazioni e la scalabilità.

Perciò, NCache fornisce un'opzione migliore in cui gli utenti possono archiviare le proprie sessioni Java all'interno della propria applicazione senza alcun problema in una web farm con bilanciamento del carico.

Sessioni Web Java

Contenitori servlet diversi associati a NCache

NCache offre ai suoi utenti la possibilità di utilizzare diversi tipi di contenitori servlet che possono ospitare facilmente la loro applicazione Web, come discusso di seguito.

  1. Tomcat Apache: È un'implementazione open source delle pagine Java Servlet e Java Server e fornisce anche un ambiente server Web HTTP "puro Java" in cui può essere eseguito codice Java. Fornisce la gestione della sessione attraverso sessioni appiccicose.
  2. Volo selvaggio: È un server delle applicazioni scritto in Java che distribuisce e gestisce le applicazioni Java in una varietà di ambienti.
  3. Logica web: È un'applicazione conforme a Java Enterprise Edition (EE) che distribuisce, esegue e distribuisce le applicazioni basate su Java.
  4. Sfera Web: È il server applicativo più avanzato per la creazione e l'esecuzione di applicazioni Java.

Configurazione del modulo di sessione Java per NCache

Per configurare le sessioni Java, è necessario modificare il file "session.xml" che si trova in %NC_Home%/config nel NCache cartella. Di seguito è riportato il codice per cui lo fa NCache. Per ulteriori dettagli sull'aggiunta di librerie, la definizione di filtri e la distribuzione dell'applicazione utilizzando i contenitori servlet, vedere Aggiunta di librerie e definizione di filtri aiuto.

<?xml version="1.0" encoding="UTF-8"?>  
   <!--for single regional session provider-->
<servlet-session-config>
    <cache id="myPartitionedCache"/>
    <log log-props="log4j.properties"/>
    <locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
</servlet-session-config>

Vantaggi di Java Session Module per NCache

NCache fornisce all'utente un'opzione "nessuna modifica del codice" in cui le applicazioni Java possono persistere le sessioni NCache cache distribuita. Se la tua applicazione è in esecuzione in una server farm Web con bilanciamento del carico e hai bisogno di uno storage affidabile e scalabile per la persistenza della sessione, NCache offre i seguenti vantaggi:

  1. La prestazione migliore: NCache fornisce tempi di risposta più rapidi, quindi prestazioni migliorate.
  2. Alta disponibilità: NCache fornisce potenti cluster di cache distribuita senza un singolo punto di errore altamente disponibile il che significa che puoi aggiungere o rimuovere la cache senza interrompere l'applicazione.
  3. Estrema affidabilità: NCache consente all'utente di replicare le sessioni servlet Java su più server in base alla topologia specificata senza compromettere l'affidabilità e le prestazioni. Ecco perché l'utente non perderà alcun dato di sessione anche se il server della cache si interrompe per qualsiasi motivo.
  4. Brillante replica della sessione tramite topologie: NCache fornisce varie topologie di memorizzazione nella cache attraverso le quali persistere le sessioni in base alle proprie esigenze. Ad esempio, si può usare topologia replicata partizionata per una maggiore affidabilità e scalabilità.
  5. Scalabilità lineare: NCache, un in-memory distribuito linearmente scalabile grid, ha la capacità di gestire carichi elevati, motivo per cui le applicazioni di sessione possono ottenere la massima scalabilità possibile.

Supporto per più regioni nelle sessioni Web Java

Per gestire le sessioni servlet Java su più web farm, che sono geograficamente ubicate separatamente, NCache fornisce la persistenza della sessione multisito nei seguenti modi:

  1. Replica WAN delle sessioni Web Java: NCache consente a un utente di replicare tutte le sessioni Java attraverso la WAN in un'altra regione (data center) che viene eseguita tramite il Topologia a ponte caratteristica di NCache. Ciò garantisce che le sessioni Java non vengano mai perse anche se una regione non funziona.
  2. Sessioni Web Java multisito: Se un utente non desidera replicare le sessioni attraverso la WAN principalmente a causa dell'elevato consumo di larghezza di banda e di possibili problemi di prestazioni, può scegliere di utilizzare il concetto di Supporto per sessioni Java multisito, una caratteristica di NCache. In questo approccio, ogni regione può configurare le proprie cache separate e ogni cache avrà il proprio set di client (servlet Java). La sessione non verrà replicata tra i siti, ma verrà mantenuta nella posizione di creazione.

In questo modo possiamo avere due o più regioni attive separate e un utente può mantenere la maggior parte del traffico nella propria regione. Allo stesso modo, se l'utente abbassa una regione per qualche motivo, non causerà alcun problema perché quella regione sarà accessibile da altre regioni.

Funzionalità avanzate in NCache Sessioni Web Java

Sessioni Web Java per NCache implementa tutte le funzionalità standard fornite da Java Web Sessions. Inoltre, implementa alcune funzionalità avanzate per gestire altre situazioni importanti.

  1. Scadenza della sessione: NCache gestisce la scadenza della sessione e rimuove le sessioni dalla cache per un timeout di sessione specificato. Allo stesso modo, possiamo specificare il valore di timeout della sessione tramite contenitori di servlet e NCache utilizzerà internamente tale intervallo per far scadere le sessioni dalla cache.
  2. Gestione di richieste di sessioni multiple e integrità dei dati: Per evitare la situazione in cui le richieste parallele possono causare la mutazione delle sessioni, NCache fornisce un meccanismo di blocco in modo che nessuna delle due richieste parallele possa modificare la stessa sessione. Puoi specificarlo nel file "session.xml" nel modo seguente:
    <servlet-session-config>
        <locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
    </servlet-session-config>
  3. Gestione della serializzazione dei dati della sessione: Dopo aver inserito gli oggetti Java nelle sessioni del servlet Java e averli archiviati fuori processo, l'intera sessione del servlet Java deve essere serializzata. NCache fornisce una serializzazione più veloce rispetto alla normale serializzazione Java, chiamata Serializzazione compatta. Con questo la velocità della tua applicazione Java aumenta molto.

Cosa fare dopo?

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.