Ako nakonfigurovať HAProxy pre pripojenia WebSocket

Ako Nakonfigurovat Haproxy Pre Pripojenia Websocket



Aplikácie WebSocket majú medzi klientom a serverom obojsmernú komunikáciu v reálnom čase. Aj pri pripojeniach WebSocket stále potrebujete spôsob, ako distribuovať prevádzku, aby ste sa vyhli preťaženiu servera, čo by viedlo k výpadkom a nedostupnosti.

HAProxy je príkladom bezplatného a spoľahlivého nástroja na vyrovnávanie zaťaženia, ktorý funguje aj ako reverzný proxy. Môžete nakonfigurovať HAProxy pre pripojenia WebSocket, aby ste lepšie využívali funkcie WebSockets, najmä pri prenose údajov v reálnom čase, a zároveň minimalizovali zaťaženie servera pomocou HAProxy. Tento príspevok predstavuje všetky požadované kroky na konfiguráciu HAProxy pre pripojenia WebSocket.

Podrobná príručka o tom, ako nakonfigurovať HAProxy pre pripojenia WebSocket

Vďaka pripojeniam WebSocket je komunikácia medzi serverom a klientom dlhodobá. Pretrvá, kým sa server alebo klient nerozhodne ho zatvoriť. Ako taký spôsob práce s vyrovnávačom zaťaženia zaisťuje, že prevádzka môže byť distribuovaná na iný server, ak je server preťažený. Klient a server si tak môžu užívať neprerušované a dlhodobé pripojenie s nízkou latenciou.







1. Nainštalujte HAProxy

Prvým krokom pri konfigurácii HAProxy pre pripojenia WebSocket je uistiť sa, že máte nainštalovaný HAProxy. Ak ho už máte nainštalovaný, tento krok preskočte. V opačnom prípade spustite nasledujúci príkaz a nainštalujte ho:



$ sudo apt-get nainštalovať haproxy



2. Upravte konfiguráciu HAProxy

Ak chcete nakonfigurovať HAProxy pre pripojenia WebSocket, musíme upraviť konfiguráciu HAProxy tak, aby podporovala pripojenia WebSocket. Musíme upraviť sekciu „Predvolené“ a vytvoriť sekcie „Frontend“ a „Backend“.





Otvorte konfiguráciu HAProxy pomocou textového editora takto:

$ sudo nano / atď / haproxy / haproxy.cfg

V časti „Predvolené“ ho upravte tak, ako je znázornené na nasledujúcom obrázku. Najprv určíme, že pracujeme s HTTP pripojeniami a definujeme, kam sa majú odosielať protokolové súbory. Ďalej nastavíme časové limity pre rôzne aktivity. Napríklad časový limit pripojenia je maximálny čas, ktorý by mal trvať pokus o pripojenie k serveru. Ak sa dosiahne maximálny čas, spojenie sa považuje za neúspešné a možno ho zopakovať.



Pre tento prípad sme nastavili časový limit pripojenia na 5000 milisekúnd. Časový limit môžete upraviť podľa toho, ako ich najlepšie vidíte pre váš prípad. Upravte ich na základe vašej aplikácie a zapamätajte si trvanie relácií WebSocket a ako dlho očakávate, že budú.

Ďalej musíme vytvoriť sekciu „Frontend“, kde spájame porty, ktoré sa majú použiť pre pripojenia WebSocket a na ktorý server backend sa má odkazovať. V tomto prípade špecifikujeme port 80 a poskytneme URL na prístup na stránku „Štatistiky“ na monitorovanie nášho HAProxy. Nakoniec definujeme, na ktorú časť backendu sa má odkazovať pri vyrovnávaní zaťaženia.

V sekcii „Backend“ rozdeľujeme zaťaženie pomocou kruhovej voľby. „Option forward for“ určuje HAProxy, aby pri odosielaní žiadosti o pripojenie zahrnula hlavičku „X-Forward-For“, ktorá obsahuje IP adresu klienta. Týmto spôsobom backend server získa správnu IP klienta.

„Voľba http-server-close“ obmedzuje zdroje tým, že eliminuje akékoľvek nečinné pripojenia, aby zaberali zdroje servera. Aj keď sú pripojenia WebSocket dlhotrvajúce, musíme skontrolovať nečinné dlhodobé pripojenia a zatvoriť ich, aby sme predišli zbytočnému plytvaniu zdrojmi.

Nakoniec pridajte backendové servery, ktoré budete používať na distribúciu prevádzky. Uistite sa, že zadávate správnu IP adresu serverov a nahraďte tie na nasledujúcom obrázku:

Vaše HAProxy je teraz nakonfigurované pre pripojenia WebSocket. Uložte zmeny a zatvorte súbor.

3. Test platnosti

Pred reštartovaním HAProxy môžeme spustiť rýchly príkaz na kontrolu, či je súbor platný a nemá chybu. Za týmto účelom spustite nasledujúci príkaz:

$ sudo haproxy -c -f / atď / haproxy / haproxy.cfg

4. Reštartujte a otestujte pripojenie WebSocket

Keď je súbor platný, reštartujte službu HAProxy.

to je všetko. Nakonfigurovali ste HAProxy pre pripojenia WebSocket. Môžete otestovať pripojenie, aby ste sa uistili, že všetka prevádzka WebSocket je presmerovaná správne.

Záver

Konfigurácia HAProxy pre pripojenia WebSocket je vyhľadávaným riešením najmä správcami webu. Tento príspevok podrobne rozpracoval proces, uviedol kroky a príklad, aby ste zaistili, že budete pohodlne sledovať a zvládnete to isté implementovať vo vašom prípade. Prejdite si každý krok a uistite sa, že rozumiete konceptu a procesu jeho implementácie.