Com configurar HAProxy per a connexions WebSocket

Com Configurar Haproxy Per A Connexions Websocket



Les aplicacions WebSocket tenen comunicació en temps real i bidireccional entre el client i el servidor. Fins i tot amb les connexions WebSocket, encara necessiteu una manera de distribuir el trànsit per evitar sobrecarregar un servidor que comportaria temps d'inactivitat i indisponibilitat.

HAProxy és un exemple d'equilibrador de càrrega gratuït i fiable que també funciona com a servidor intermediari invers. Podeu configurar HAProxy per a connexions WebSocket per utilitzar millor les funcions de WebSockets, especialment en la transferència de dades en temps real, alhora que minimitzeu la càrrega del servidor mitjançant HAProxy. Aquesta publicació presenta tots els passos necessaris per configurar HAProxy per a connexions WebSocket.

Guia pas a pas sobre com configurar HAProxy per a connexions WebSocket

Amb les connexions WebSocket, la comunicació entre el servidor i el client és de llarga durada. Persisteix fins que el servidor o el client decideix tancar-lo. Com a tal, tenir una manera de treballar amb un equilibrador de càrrega garanteix que el trànsit es pugui distribuir a un altre servidor si el servidor està sobrecarregat. D'aquesta manera, el client i el servidor poden gaudir d'una connexió ininterrompuda i de llarga durada amb una latència baixa.







1. Instal·leu HAProxy

El primer pas per configurar HAProxy per a connexions WebSocket és assegurar-vos que teniu HAProxy instal·lat. Si ja el teniu instal·lat, ometeu aquest pas. En cas contrari, executeu l'ordre següent per instal·lar-lo:



$ sudo apt-get install haproxy



2. Editeu la configuració d'HAProxy

Per configurar HAProxy per a connexions WebSocket, hem d'editar la configuració d'HAProxy per donar suport a les connexions WebSocket. Hem de modificar la secció 'Valors per defecte' i crear les seccions 'Frontend' i 'Backend'.





Obriu la configuració d'HAProxy amb un editor de text de la manera següent:

$ sudo nano / etc / haproxy / haproxy.cfg

A la secció 'Valors per defecte', modifiqueu-lo tal com es mostra a la imatge següent. En primer lloc, especifiquem que estem treballant amb connexions HTTP i definim on enviar els fitxers de registre. A continuació, establim els temps d'espera per a diferents activitats. Per exemple, el temps d'espera de connexió és el temps màxim que hauria de trigar un intent de connexió al servidor. Si s'arriba al temps màxim, es conclou que la connexió ha fallat i es pot tornar a intentar.



Per a aquest cas, establim el temps d'espera de connexió a 5000 mil·lisegons. Pots ajustar el temps d'espera de com els veus millor per al teu cas. Ajusteu-los en funció de la vostra aplicació i recordeu la durada de les sessions de WebSocket i la durada que espereu que siguin.

A continuació, hem de crear la secció 'Frontend' on enllacem quins ports utilitzarem per a les connexions WebSocket i a quin servidor de backend fer referència. Per a aquest cas, especifiquem el port 80 i donem l'URL per accedir a la pàgina 'Estadístiques' per supervisar el nostre HAProxy. Finalment, definim quina secció de backend hem de fer referència en l'equilibri de càrrega.

A la secció 'Backend', distribuïm la càrrega mitjançant round robin. L'opció 'reenviar per' especifica a HAProxy que inclogui una capçalera 'X-Forward-For' que contingui l'adreça IP del client quan s'envia la sol·licitud de connexió. D'aquesta manera, el servidor backend obtindrà la IP correcta del client.

L''opció http-server-close' restringeix els recursos eliminant qualsevol connexió inactiva que ocupi els recursos del servidor. Tot i que les connexions de WebSocket són de llarga durada, hem de comprovar si hi ha connexions de llarga durada ocioses i tancar-les per evitar un malbaratament de recursos innecessari.

Finalment, afegiu els servidors backend que utilitzareu per distribuir el trànsit. Assegureu-vos que proporcioneu l'adreça IP correcta per als servidors i substituïu les de la imatge següent:

El vostre HAProxy ara està configurat per a connexions WebSocket. Deseu els canvis i tanqueu el fitxer.

3. Prova de validesa

Abans de reiniciar HAProxy, podem executar una ordre ràpida per comprovar si el fitxer és vàlid i no té cap error. Per això, executeu l'ordre següent:

$ sudo haproxy -c -f / etc / haproxy / haproxy.cfg

4. Reinicieu i proveu la connexió WebSocket

Un cop el fitxer sigui vàlid, reinicieu el servei HAProxy.

Això és. Heu configurat HAProxy per a connexions WebSocket. Podeu provar la connexió per assegurar-vos que tot el trànsit de WebSocket es reenviï correctament.

Conclusió

Configurar HAProxy per a connexions WebSocket és una solució molt buscada, especialment pels administradors web. En aquesta publicació s'ha elaborat el procés amb detall, donant els passos i un exemple per assegurar-se que el seguiu còmodament i aconseguiu implementar el mateix en el vostre cas. Seguiu cada pas i assegureu-vos que enteneu el concepte i el procés per implementar-lo.