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.
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.
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.
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.
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:
Di seguito è riportato un esempio di ribilanciamento delle sessioni in un ambiente Extended Deployment Versione 6.0.1 e successivo:
Related tasks
Creazione e configurazione di cluster dinamici