HAProxy HTTP vs TCP


17

HAProxy ti dà la possibilità di impostare la modalità su TCP o HTTP. Inoltre, consente di impostare la porta.

Quindi perché mi permetta di scegliere tra HTTP e TCP, se mi consente di scegliere anche la porta? Sicuramente se volessi HTTP potrei semplicemente scegliere TCP e la porta 80?

Perché solo TCP e HTTP? Sembra implicare che HTTP non sia TCP. Perché non avere TCP, HTTP, SNMP, FTP, ecc., Ecc., Ecc.

Perché solo HTTP e TCP? Perché una di queste opzioni se HTTP è TCP? Trovalo molto confuso ed è davvero difficile trovare informazioni sul bilanciamento del carico di servizi non http (s).

Risposte:


28

Utilizzando il metodo HTTP nella configurazione HAProxy, si ha accesso a diverse opzioni specifiche HTTP. Ad esempio, puoi scegliere diversi backend in base all'URL nella richiesta HTTP. Quando si specifica la modalità TCP, HAProxy non valuta le intestazioni HTTP nel pacchetto.

Quindi, puoi sicuramente usare TCP per il traffico HTTP, ma non avresti le opzioni HTTP aggiuntive. Come nota a margine, a meno che non si utilizzino le funzionalità SSL, è necessario utilizzare TCP per il traffico HTTPS perché i pacchetti sono crittografati e HAProxy non può visualizzare le intestazioni HTTP.


Grazie. Questo mi ha davvero aiutato a dare un senso a tutto questo per me. Saluti.
marflar,

6

Qualcuno ha scritto un post sul blog su questo: http://www.linickx.com/645/load-balance-anything-with-haproxy

Ad ogni modo, non so perché le persone che mantengono il haproxy usino la sintassi che hanno scelto, non mi piace molto perché lo trovo fuorviante (dire che qualcosa può essere HTTP o TCP viti con il mio cervello), ma ti risulta può caricare il bilanciamento di qualsiasi cosa con HAProxy e, se non è HTTP (s), basta andare con TCP e il numero di porta corretto.


HTTP è TCP a livello di trasporto, quindi l'intera applicazione è solo TCP con una certa specializzazione per HTTP. Buon collegamento, comunque.
Signus,
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.