Differenza tra affinità di sessione e sessione appiccicosa?


126

Qual è la differenza tra affinità di sessione e sessione appiccicosa nel contesto dei server di bilanciamento del carico?

Risposte:


82

Ho visto quei termini usati in modo intercambiabile, ma ci sono diversi modi per implementarlo:

  1. Invia un cookie sulla prima risposta e poi cercalo su quelli successivi. Il cookie indica a quale server reale inviare.
    Cattivo se devi supportare browser senza cookie
  2. Partizione basata sull'indirizzo IP del richiedente.
    Cattivo se non è statico o se molti arrivano attraverso lo stesso proxy.
  3. Se si autenticano gli utenti, eseguire la partizione in base al nome utente (per fare ciò deve essere una modalità di autenticazione supportata da HTTP).
  4. Non richiede stato.
    Consenti ai client di colpire qualsiasi server (invia lo stato al client e invitalo a rispedirlo)
    Questa non è una sessione appiccicosa, è un modo per evitare di doverlo fare.

Sospetterei che sticky possa riferirsi al modo dei cookie e che l'affinità potrebbe riferirsi al n. 2 e al n. 3 in alcuni contesti, ma non è così che l'ho visto usato (o usato da solo)


6
Se una richiesta è associata a un server fisico, cosa succede se quel server fallisce? Esiste una strategia per utilizzare il cookie per contenere un server di failover?
raffian

2
Se il server ha esito negativo, l'applicazione ha esito negativo, forse è necessario accedere nuovamente. Forse hai perso i dati. Di solito, il bilanciamento del carico sceglie un altro server e si continua, ma parte dello stato viene persa. Se ciò è inaccettabile, è necessario ottenere lo stato sul DB o su altri server il più rapidamente possibile o disporre di una strategia senza stato.
Lou Franco,

FWIW Heroku si riferisce a loro come il contrario. Session Afifinity si basa sui cookie e non supporta gli sticky. devcenter.heroku.com/articles/session-affinity
RandallB

39

Come ho sempre sentito i termini utilizzati in uno scenario di bilanciamento del carico, sono intercambiabili. Entrambi significano che una volta avviata una sessione, lo stesso server serve tutte le richieste per quella sessione.


21

La sessione adesiva indica che quando una richiesta arriva in un sito da un client tutte le ulteriori richieste vanno alla stessa richiesta client iniziale del server a cui si accede. Credo che l'affinità di sessione sia sinonimo di sessione appiccicosa.


13

Loro sono la stessa cosa.

Entrambi significano che quando si arriva al bilanciamento del carico, la richiesta verrà indirizzata al server che ha servito la prima richiesta (e ha la sessione).


11

Sessione permanente significa indirizzare le richieste di una determinata sessione alla stessa macchina fisica che ha servito la prima richiesta per quella sessione.


3

Questo articolo chiarisce la domanda per me e discute altri tipi di persistenza del bilanciamento del carico.

Dave's Thoughts: Load balancer persistence (sessioni appiccicose)


6
Apparentemente non più disponibile, ma ce n'è una copia nella macchina Wayback
Martin McNulty il

12
Questo è il motivo per cui non pubblichi link senza una spiegazione
Juan Mendes,

È stato riscontrato che il contenuto del link sopra (non più disponibile ora) è stato spostato in archive.li/SG4fA Elenca sostanzialmente i vari tipi di persistenza supportati dal bilanciamento del carico F5.
Aveek,

0

Sono sinonimi. Nessuna differenza

Sessione adesiva / Affinità di sessione:

Affinità / Appiccicosità / Contatto tra la sessione utente e, il server a cui viene inviata la richiesta dell'utente viene mantenuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.