IBM Cloud Docs
Gestione del traffico avanzata con IBM Cloud Load Balancer

Gestione del traffico avanzata con IBM Cloud Load Balancer

Scopri diverse funzioni di gestione del traffico avanzate disponibili con il servizio IBM Cloud® Load Balancer.

Numero massimo di connessioni

Utilizzare la configurazione max connections per limitare il numero massimo di connessioni contemporanee a una determinata porta virtuale front-end. Il numero massimo di connessioni contemporanee per una determinata porta virtuale front-end o a livello di sistema per tutte le porte virtuali front-end è 15000. Per default, è impostato al valore massimo di 15000.

Persistenza della sessione

Il programma di bilanciamento del carico supporta la persistenza della sessione basata sull'IP di origine della connessione. Ad esempio, se hai una persistenza della sessione di tipo IP di origine (source IP) abilitata per la porta 80 (HTTP), allora i successivi tentativi di connessione HTTP dallo stesso client dell'IP di origine sono persistenti nello stesso server di back-end. Questa funzione è disponibile per tutti e tre i protocolli supportati (HTTP, HTTPS e TCP).

Il bilanciatore di carico supporta anche la persistenza della sessione basata sul cookie HTTP. Ad esempio, se la persistenza della sessione di tipo HTTP Cookie è abilitata per la porta 80 (HTTP), quando il bilanciatore di carico riceve la prima risposta dal server back-end, aggiunge un cookie con il nome IBMCLB e il valore back-end server UUID nell'intestazione della risposta. Tutte le successive richieste HTTP con questo cookie che arrivano al bilanciatore di carico sono persistenti sullo stesso server back-end. Questa funzione è disponibile per HTTP e HTTPS.

Keepalive HTTP

Il programma di bilanciamento del carico supporta il keepalive HTTP (HTTP keep alive) finché è abilitato sui server client e di back-end. Il programma di bilanciamento del carico prova a riutilizzare le connessioni HTTP lato server per aumentare l'efficienza della connessione e ridurre la latenza.

Timeout di connessione

I seguenti valori di timeout sono utilizzati dal bilanciatore di carico:

Valori di timeout del Load Balancer
Nome Descrizione Timeout predefinito Configurabile dall'utente
Tentativo di connessione lato server La finestra temporale massima che il bilanciatore di carico può utilizzare per stabilire una connessione TCP con il server back-end. Se il tentativo di connessione non va a buon fine, il bilanciatore di carico tenta il server successivo disponibile, in base al metodo di bilanciamento del carico configurato. 5 secondi No
Connessione inattiva lato client Il tempo massimo di inattività dopo il quale il bilanciatore di carico interrompe la connessione lato client, se il client non ha chiuso correttamente la connessione. 50 secondi
Connessione inattiva lato server Il tempo massimo di inattività (con configurazione del protocollo back-end TCP) dopo il quale il bilanciatore di carico chiude la connessione lato server. Con la configurazione del protocollo back-end di HTTP, se il bilanciatore di carico non riceve una risposta alla sua richiesta HTTP entro la finestra di timeout di inattività, restituisce un messaggio di errore al cliente finale. 50 secondi

I valori di timeout di inattività lato server e lato client possono essere configurati utilizzando l'API. È possibile configurare il timeout del serverParameterName: serverTimeout) e il timeout del clientParameterName: clientTimeout) in secondi fino a 2 ore (Intervallo: 1 - 7200 secondi) utilizzando il metodo UpdateLoadBalancerProtocols del servizio SoftLayer_Network_LBaaS_Listener Se non si fornisce il valore di timeout del server o del client, il programma di bilanciamento del carico utilizza il valore predefinito (indicato nella tabella) per il timeout corrispondente.

L'impostazione di valori di timeout di connessioni inattive lunghe può causare il verificarsi di latenze nel traffico del percorso dati o può essere bloccata perché le connessioni inattive vengono conteggiate per il numero massimo di connessioni simultanee pari a 15.000. Considerare il valore di timeout di connessione inattiva insieme al numero massimo di connessioni simultanee per garantire che il traffico del percorso dati non venga interrotto.

Conservazione dell'indirizzo IP del client finale

IBM Cloud Load Balancer funziona come un reverse proxy, che termina il traffico in entrata dal client. Stabilisce una connessione separata all'istanza del server back-end utilizzando il proprio indirizzo IP. Per le connessioni HTTP con i server back-end (contro le connessioni HTTP o HTTPS front-end), il bilanciatore di carico conserva l'indirizzo IP originale del client includendolo nell'intestazione X-Forwarded-For HTTP. Per le connessioni TCP, le informazioni IP del client originale non vengono conservate.

Conservazione del protocollo client finale

IBM Cloud Load Balancer conserva il protocollo originale utilizzato dal client per le connessioni front-end HTTP e HTTPS. Lo fa includendolo all'interno dell'intestazione HTTP X-Forwarded-Proto. Questo non si applica ai protocolli TCP, perché il bilanciatore di carico non esamina il traffico Layer-7 quando viene utilizzato il protocollo TCP.