Se sei un utente esistente dell'Application Load Balancer classico, consulta questa pagina se prevedi di eseguire la migrazione all'Application Load Balancer esterno globale o se stai pianificando un nuovo deployment con l'Application Load Balancer esterno globale.
Differenze di funzionalità
Le seguenti funzionalità non sono supportate dal bilanciatore del carico delle applicazioni esterno globale. Sono disponibili solo con l'Application Load Balancer classico:
- Livello di rete Standard
-
Per eseguire il deployment di bilanciatori del carico delle applicazioni esterni globali per i cluster GKE, utilizza invece il controller gateway GKE. Per istruzioni di configurazione, consulta la pagina relativa al deployment dei gateway.
Differenze nel piano dati
La seguente tabella evidenzia le differenze nel piano dati tra l'Application Load Balancer classico e l'Application Load Balancer esterno globale. Queste differenze influiscono sul modo in cui i bilanciatori del carico rispondono ad alcuni eventi comuni.
Evento | Risposta classica del bilanciatore del carico delle applicazioni | Risposta dell'Application Load Balancer esterno globale |
Codici di stato/errore | ||
Tutti i backend sono in stato non integro | Restituisce HTTP 502 | Restituisce HTTP 503 |
La richiesta utilizza una crittografia SSL vietata | Restituisce HTTP 502 | Restituisce HTTP 503 |
Connessione upstream anticipata reimpostata dal backend | Restituisce HTTP 502 | Restituisce HTTP 503 |
Upgrade della connessione non riuscito (ad esempio durante l'upgrade a WebSocket) | Restituisce HTTP 400 | Restituisce HTTP 403 |
L'intestazione è troppo grande | Restituisce HTTP 413 | Restituisce HTTP 431 |
Quote e limiti | ||
Configurazione mappa URL | Esistono differenze significative nei limiti di configurazione della mappa URL tra i due bilanciatori del carico. Per maggiori dettagli, consulta la documentazione su Quote: mappe URL. | |
Gestione delle intestazioni | ||
La richiesta utilizza un metodo HTTP personalizzato senza corpo | Aggiunge l'intestazione Transfer Encoding: Chunked alla richiesta inviata al backend |
Aggiunge l'intestazione Content-Length: 0 alla richiesta inviata al backend |
Formato dell'intestazione X-Forwarded-For aggiunta alle richieste inviate al backend |
Utilizza il delimitatore ", " tra gli IP |
Utilizza il delimitatore ", " tra gli IP (senza spazio dopo la virgola) |
Conservazione delle maiuscole | Le maiuscole/minuscole vengono mantenute | Tutte le chiavi di intestazione vengono trasformate in minuscole |
Intestazioni ripetute con lo stesso nome | Consentita | Le intestazioni ripetute possono essere combinate in un'unica intestazione, con i valori aggiunti in ordine e separati da virgole, come consentito da RFC 7230. |
(Solo HTTP/1.1) Nome di intestazione non valido (ad esempio, caratteri non supportati nell'intestazione) | Consentita (per HTTP/1.1) | Restituisce HTTP 502 (per HTTP/1.1) |
(Solo HTTP/1.1) Intestazione Content-Length ripetuta (ma uguale) nella richiesta |
Consentita (per HTTP/1.1) | Restituisce HTTP 502 (per HTTP/1.1) |
(Solo HTTP/1.1) Host multipli nell'intestazione | Quando vengono aggiunti due o più host, e il primo è valido, l'intestazione viene accettata | Quando vengono aggiunti due o più host, senza errori, il bilanciatore del carico restituisce HTTP 502 |
(Solo HTTP/1.1) Intestazione Connection: Keep-Alive |
Aggiunge Keep-Alive header nelle richieste inviate al backend per impostazione predefinita |
Non aggiunge questa intestazione per impostazione predefinita |
Gestione delle richieste | ||
Barre a ritroso nella richiesta | URL non modificato | Converte in una barra |
Unisci le barre duplicate nella richiesta | Lascia barre non unite | Unisce le barre |
"#" nel percorso di richiesta | Consentita | Restituisce HTTP 400 |
(Solo HTTP/1.1) Caratteri non validi nel percorso della richiesta (ad esempio "\\x7f\\x7f") | Consentita (per HTTP/1.1) | Restituisce HTTP 502 (per HTTP/1.1) |
Distribuzione del traffico (configurazione mappa URL) | ||
La richiesta del client include un numero di porta | Il numero di porta viene ignorato anche se hai configurato host con porte nella mappa URL. Viene preso in considerazione solo il nome host. Ad esempio, le richieste di example.com:5000 vengono associate al servizio di backend per example.com .
|
Vengono presi in considerazione sia il nome host che il numero di porta. Ad esempio, le richieste di example.com:5000 vengono associate al servizio di backend per example.com:5000 . In assenza di
una corrispondenza, viene utilizzato il servizio di backend predefinito.
|