WebSphere Extended Deployment, Version 6.0.x     Sistemi operativi: AIX, HP-UX, Linux, Solaris, Windows, z/OS

Ribilanciamento della sessione HTTP

WebSphere Extended Deployment è in grado di bilanciare dinamicamente e in maniera attiva la distribuzione delle sessioni HTTP tra server delle applicazioni.

WebSphere Application Server assegna le sessioni HTTP in base all'affinità del server delle applicazioni. Una volta stabilita una sessione su un determinato server delle applicazioni, le richieste successive che appartengono alla stessa sessione vengono assegnate al server delle applicazioni che ha definito l'affinità della sessione.

Le affinità di sessione provocano il bilanciamento del carico della sessione a lungo termine e di solito gli eventuali squilibri che si verificano sono brevi e tollerabili. Tuttavia, il ribilanciamento della sessione può essere utilizzato per risolvere gli eventuali squilibri che si verificano senza modificare i vantaggi in termini di prestazioni delle affinità.

WebSphere Extended Deployment introduce il ribilanciamento delle sessioni per velocizzare il bilanciamento delle sessioni su un cluster. È possibile utilizzare questa tecnica se si utilizzano sessioni distribuite e si tiene traccia di tali sessioni mediante i cookie. per impostazione predefinita, i server delle applicazioni di WebSphere Extended Deployment sono configurati con la funzione di traccia delle sessione abilitata che utilizza i cookie ma senza le sessioni distribuite.

Per configurare i server delle applicazioni per le sessioni distribuite, fare riferimento alla sezione Impostazioni ambiente distribuito. Per informazioni dettagliate su ciascuna delle due opzioni disponibili, fare riferimento a Configurazione della persistenza della sessione database e a Configurazione della replica da memoria a memoria per la modalità peer-to-peer (replica da memoria a memoria predefinita).

La sezione "Configurazione della replica da memoria a memoria per la modalità peer-to-peer (replica da memoria a memoria predefinita)" descrive le operazioni necessarie per la configurazione dei server in cluster statici, ma tali operazioni possono essere utilizzate anche per i server in cluster dinamici. Se si stanno configurando i cluster dinamici, lasciare inizialmente il cluster in modalità statica in modo che i server del cluster non vengano avviati automaticamente. Una volta modificate le impostazioni dell'ambiente distribuito per tutti i server nel cluster, riportare il cluster dinamico in modalità automatica. Se non si cambia la modalità, è necessario arrestare e riavviare i server già avviati nel cluster dinamico per applicare le modifiche alle impostazioni dell'ambiente distribuito.

Quando un nuovo server diventa disponibile in un cluster dinamico, quel server non ha alcuna sessione HTTP assegnata. Tuttavia, i server esistenti nel cluster hanno sessioni con affinità assegnata.

[Version 6.0 only] Con WebSphere Extended Deployment Versione 6.0, il ribilanciamento delle sessioni serve a riassegnare le sessioni in modo che ogni server abbia una proporzione uguale di tutte le sessioni esistenti. Il numero di sessioni assegnate al nuovo server delle applicazioni è determinato dal numero di sessioni su ogni server delle applicazioni esistente e dal peso di ciascun server. La funzione di ribilanciamento delle sessioni viene eseguita su ogni server delle applicazioni. Ogni server delle applicazioni è a conoscenza di ogni server che diventa disponibile e del peso e dei numeri di sessione di ogni server. Con questi numeri, il server delle applicazioni può determinare quante sessioni spostare dal server delle applicazioni corrente al nuovo server delle applicazioni. Il numero di sessioni da spostare viene quindi inviato a un filtro del servlet HTTP che viene aggiunto dinamicamente all'avvio del server per intercettare e reindirizzare le richieste della sessione.

[Version 6.0.1 and later] Con WebSphere Extended Deployment Versione 6.0.1 e successive, il ribilanciamento delle sessioni serve a riassegnare le sessioni in modo che il numero di sessioni in esecuzione su ogni server nel cluster dinamico sia proporzionale al peso assegnato dei server. DWLM (dynamic workload manager) esegue la funzione di ribilanciamento delle sessioni. DWLM decide il numero di sessioni da spostare e dove spostarle in base alle informazioni sull'intero cluster dinamico. Il componente DWLM viene scomposto nella posizione della sessione e può iniziare gli spostamenti della sessione oltre a modificare il peso su server specifici. Gli spostamenti possono essere iniziati da qualsiasi evento controllato da DWLM, come ad esempio un nuovo avvio dei server, un sovraccarico dei server e così via.

[Version 6.0.1 and later] Se si utilizza il supporto delle sessioni HTTP basato su ObjectGrid invece che la normale gestione delle sessioni di WebSphere Application Server, il ribilanciamento della sessione HTTP non è supportato.

Se si utilizzano sessioni che sono gestite da ID di riscrittura URL o SSL (Secure Sockets Layer), non viene eseguito alcun ribilanciamento. Il ribilanciamento non viene eseguito neanche per le richieste POST HTTP. Le sessioni non vengono ribilanciate se si esegue l'accesso alla sessione emettendo la richiesta HTTP direttamente alla porta HTTP del server delle applicazioni, ignorando il router on demand. Il contatore PMI per le sessioni di memoria riflette le sessioni di spostamento. In particolare, il contatore diminuisce sui server esistenti quando le sessioni vengono spostate e aumenta sui nuovi server avviati di recente. Tuttavia, le nuove sessioni vengono bilanciate su tutti i server del cluster. Fare riferimento a WebSphere Application Server Network Deployment Information Center per ulteriori informazioni sull'analisi dei dati PMI e sulle procedure ottimali per l'utilizzo delle sessioni HTTP.

È possibile abilitare o disabilitare la funzione di ribilanciamento delle sessioni modificando la proprietà personalizzata HttpSessionRebalanceOff nella console di gestione. Per ulteriori informazioni, consultare Proprietà personalizzate per la gestione delle applicazioni.

[Version 6.0 only]

Esempio

Se il ribilanciamento della sessione è abilitato e un nuovo server viene avviato nel cluster dinamico, si verifica quanto riportato di seguito per ridistribuire le richieste della sessione al nuovo server:

  1. Un nuovo server delle applicazioni diventa disponibile nel cluster dinamico.
  2. Il componente di ribilanciamento delle sessioni su ogni server esistente riceve una notifica relativa all'aggiunta insieme al peso di ogni server e al numero di sessioni su ogni server. In base a queste informazioni, viene calcolato il numero di sessioni da spostare sul nuovo server.
  3. Allo stesso tempo, il client genera una richiesta per una sessione esistente, inviando il cookie stabilito nel browser del client.
  4. Il cookie contiene un ID di sessione e un ID server e viene assegnata a un server delle applicazioni esistente che ha un'affinità di sessione stabilita.
  5. Sul server con l'affinità di sessione, se il numero di sessioni da spostare sul nuovo server non è disponibile, il filtro del servlet modifica la risposta alla richiesta. Invece di inviare la risposta corrente, il filtro del servlet invia un reindirizzamento al client che contiene l'ID server per il nuovo server delle applicazioni. Se il server delle applicazioni non sposta la sessione sul nuovo server, il servlet filtra la richiesta direttamente ai servlet.
Questo processo viene illustrato nel seguente diagramma:
Figure 1. Ribilanciamento della sessione HTTP in WebSphere Extended Deployment Versione 6.0

[Version 6.0.1 and later]

Esempio

Di seguito è riportato un esempio di ribilanciamento delle sessioni in un ambiente Extended Deployment Versione 6.0.1 e successivo:

  1. Nel cluster dinamico, un nuovo server diventa disponibile oppure un server esistente viene sovraccaricato.
  2. Il DWLM (dynamic workload manager) calcola il numero di sessioni da spostare. Se è disponibile un nuovo server, DWLM può assegnare le sessioni al nuovo server dai server esistenti. Se un server esistente diventa sovraccarico, DWLM può spostare le sessioni da questo server ad altri nel cluster dinamico.
  3. Allo stesso tempo, il client genera una richiesta per una sessione esistente, inviando il cookie stabilito nel browser del client.
  4. Il cookie contiene un ID di sessione e un ID server e viene assegnata a un server delle applicazioni esistente che ha un'affinità di sessione stabilita.
  5. Se DWLM ha determinato che un numero di sessioni dal server di destinazione deve essere spostato su altri server del cluster, il filtro del servlet invia un reindirizzamento al client che contiene l'ID del nuovo server. Se il numero di sessioni da spostare su altri server consigliato da DWLM è già stato spostato, il filtro servlet inoltra la richiesta al server identificato con l'ID server.
Questo processo viene illustrato nel seguente diagramma:
Figure 2. Ribilanciamento della sessione HTTP in WebSphere Extended Deployment Versione 6.0.1 e successive
Scenario di ribilanciamento della sessione v601



Related tasks
Creazione e configurazione di cluster dinamici

Argomento Concetti    

Termini di utilizzo | Commenti Ultimo aggiornamento: Mar 20, 2006 1:04:28 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/odoe_task/codrsessionbalance.html

© Copyright IBM 2004, 2006. Tutti i diritti riservati.
Questo centro informazioni utilizza la tecnologia Eclipse. (http://www.eclipse.org)