Come funziona un bilanciatore del carico di rete con affinità di sessione?

1

Vorrei conoscere i dettagli di basso livello di come un bilanciatore del carico di rete funziona con la sessione adesiva attivata.

Ragione dietro la domanda:

Abbiamo un'applicazione legacy ASP.NET che è sia un'applicazione front-end che un servizio REST.

per es.

  1. link
  2. link

No. 1 è una pagina senza accesso ma con informazioni. No. 2 è un endpoint di servizio che riceve un payload XML tramite HTTP POST

Esistono 2 istanze di legacyapp dietro il servizio di bilanciamento del carico.

Il bilanciamento del carico ha l'affinità di sessione abilitata. Abbiamo notato una distribuzione diseguale del carico. Per ogni cliente ci sono molte chiamate all'endpoint del servizio (n. 2). Vorremmo sfruttare il bilanciamento del carico per il n. 2. Tuttavia, a causa dell'abilitazione della sessione abilitata, si ignora il bilanciamento del carico, ovvero il traffico di routing verso una singola istanza in cui inizialmente è stata stabilita una sessione.

    
posta setzamora 09.06.2015 - 11:46
fonte

1 risposta

2

Questa è una di quelle domande "dipende". Ho intenzione di discutere principalmente del bilanciamento dei server web qui.

Alcuni lo fanno creando un hash di alcune informazioni pertinenti (IP del client, IP del server di destinazione e / o URL; mappalo a uno dei backend N).

Alcuni lo fanno prendendo una sessione in ingresso non allocata e inviandola a un backend arbitrario, quindi quel backend imposta un cookie di qualche tipo (lo chiamerò un "cookie di affinità"). Se il cookie è impostato, la sessione viene inviata preferenzialmente a quel back-end. Se quel backend non è più attivo, accade una delle due cose. O seleziona un nuovo back-end (e viene impostato un nuovo cookie di affinità) o la sessione viene terminata.

    
risposta data 09.06.2015 - 12:00
fonte

Leggi altre domande sui tag