Per garantire la stabilità delle applicazioni stateful, i bilanciamenti del carico implementano la persistenza che indirizza tutte le connessioni correlate allo stesso server. Sono supportati diversi tipi di persistenza per soddisfare diverse tipologie di esigenze di applicazione.
Alcune applicazioni mantengono lo stato del server, ad esempio carrelli della spesa. Tale stato può essere per client e identificato dall'indirizzo IP del client o per sessione HTTP. Le applicazioni possono accedere a questo stato o modificarlo durante l'elaborazione delle connessioni correlate successive dallo stesso client o sessione HTTP.
Il profilo di persistenza IP di origine tiene traccia delle sessioni in base all'indirizzo IP di origine. Quando un client richiede una connessione a un server virtuale che abilita la persistenza dell'indirizzo di origine, il bilanciamento del carico verifica se tale client era connesso in precedenza e, in tal caso, restituisce il client allo stesso server. In caso contrario, il bilanciamento del carico seleziona il membro del pool di server in base all'algoritmo di bilanciamento del carico del pool. Il profilo di persistenza dell'IP di origine viene utilizzato dai server virtuali di livello 4 e di livello 7.
Se persistenza delle regole, persistenza dei cookie e keep-alive server sono tutti configurati, il bilanciamento del carico segue la priorità di persistenza delle regole > persistenza dei cookie > keep-alive server.
- Inserimento cookie: il bilanciamento del carico inserisce il proprio cookie con le informazioni sul membro del pool (codificate o meno) nella risposta del server al client. Il client inoltra quindi i cookie ricevuti nelle richieste successive (cookie di NSX incluso) e il bilanciamento del carico utilizza tali informazioni per fornire la persistenza dei membri del pool. Il cookie di NSX viene escluso dalla richiesta client quando inviato al membro del pool.
- Prefisso cookie: il bilanciamento del carico accoda le informazioni sul membro del pool (codificate o meno) nella risposta del server al client. Il client inoltra quindi il cookie HTTP ricevuto nelle richieste successive (anteponendo le informazioni su NSX) e il bilanciamento del carico utilizza tali informazioni per fornire la persistenza dei membri del pool. Il prefisso del cookie di NSX viene escluso dalla richiesta client quando inviato al membro del pool.
- Riscrittura cookie: il bilanciamento del carico sostituisce il valore del cookie del server con le informazioni sul membro del pool (codificate o meno) nella risposta del server al client. Il client inoltra quindi il cookie HTTP ricevuto nelle richieste successive (anteponendo le informazioni su NSX) e il bilanciamento del carico utilizza tali informazioni per fornire la persistenza dei membri del pool. Il cookie del server originale viene sostituito nella richiesta del client quando viene inviato al membro del pool.
Il profilo di persistenza generico supporta la persistenza in base a intestazione HTTP, cookie o URL nella richiesta HTTP. Pertanto, supporta la persistenza della sessione dell'applicazione quando l'ID sessione fa parte dell'URL. Questo profilo non è associato direttamente a un server virtuale. Specificare questo profilo quando si configura una regola del bilanciamento del carico per l'inoltro della richiesta e la riscrittura della risposta.