Kako konfigurirati HAProxy za WebSocket veze

Kako Konfigurirati Haproxy Za Websocket Veze



WebSocket aplikacije imaju dvosmjernu komunikaciju u stvarnom vremenu između klijenta i poslužitelja. Čak i s WebSocket vezama, i dalje vam je potreban način za distribuciju prometa kako biste izbjegli preopterećenje poslužitelja što bi dovelo do prekida rada i nedostupnosti.

HAProxy je primjer besplatnog i pouzdanog balansera opterećenja koji također radi kao obrnuti proxy. Možete konfigurirati HAProxy za WebSocket veze kako biste bolje iskoristili značajke WebSocketsa, posebno pri prijenosu podataka u stvarnom vremenu, dok minimizirate opterećenje poslužitelja pomoću HAProxyja. Ovaj post predstavlja sve potrebne korake za konfiguriranje HAProxy za WebSocket veze.

Vodič korak po korak o tome kako konfigurirati HAProxy za WebSocket veze

Uz WebSocket veze, komunikacija poslužitelja i klijenta je dugotrajna. Traje dok ga poslužitelj ili klijent ne odluči zatvoriti. Kao takav, postojanje načina rada s balanserom opterećenja osigurava da se promet može distribuirati na drugi poslužitelj ako je poslužitelj preopterećen. Na taj način klijent i poslužitelj mogu uživati ​​u neprekinutoj i dugotrajnoj vezi uz nisku latenciju.







1. Instalirajte HAProxy

Prvi korak za konfiguriranje HAProxy za WebSocket veze je osigurati da imate instaliran HAProxy. Ako ste ga već instalirali, preskočite ovaj korak. U suprotnom, pokrenite sljedeću naredbu da biste ga instalirali:



$ sudo apt-get instalacija haproxy



2. Uredite HAProxy konfiguraciju

Da bismo konfigurirali HAProxy za WebSocket veze, moramo urediti HAProxy konfiguraciju da podržava WebSocket veze. Moramo izmijeniti odjeljak 'Defaults' i stvoriti odjeljke 'Frontend' i 'Backend'.





Otvorite HAProxy konfiguraciju pomoću uređivača teksta na sljedeći način:

$ sudo nano / itd / haproxy / haproxy.cfg

U odjeljku 'Zadane postavke' izmijenite ga kako je prikazano na sljedećoj slici. Prvo specificiramo da radimo s HTTP vezama i definiramo kamo poslati datoteke dnevnika. Zatim postavljamo vremensko ograničenje za različite aktivnosti. Na primjer, vrijeme čekanja za povezivanje je maksimalno vrijeme koje treba trajati pokušaj povezivanja s poslužiteljem. Ako je dosegnuto maksimalno vrijeme, smatra se da veza nije uspjela i može se pokušati ponovno.



U ovom slučaju, postavili smo vrijeme čekanja veze na 5000 milisekundi. Možete podesiti vremensko ograničenje kako ih najbolje vidite za svoj slučaj. Prilagodite ih na temelju svoje aplikacije i zapamtite trajanje WebSocket sesija i očekivani vijek trajanja.

Zatim, moramo stvoriti odjeljak 'Frontend' gdje povezujemo koje portove koristiti za WebSocket veze i koji pozadinski poslužitelj na koji ćemo se odnositi. U ovom slučaju navodimo port 80 i dajemo URL za pristup stranici 'Statistika' za praćenje našeg HAProxyja. Na kraju, definiramo koji odjeljak pozadine treba referencirati u balansiranju opterećenja.

U odjeljku 'Backend' raspodjeljujemo opterećenje korištenjem kružnog postupka. 'Opcija prosljeđivanja za' navodi HAProxy da uključi zaglavlje 'X-Forward-For' koje sadrži klijentovu IP adresu prilikom slanja zahtjeva za povezivanje. Na taj će način pozadinski poslužitelj dobiti ispravan IP klijenta.

“Opcija http-server-close” ograničava resurse eliminirajući sve neaktivne veze da zauzmu resurse poslužitelja. Iako su WebSocket veze dugotrajne, moramo provjeriti neaktivne dugotrajne veze i zatvoriti ih kako bismo izbjegli nepotrebno trošenje resursa.

Na kraju dodajte pozadinske poslužitelje koje ćete koristiti za distribuciju prometa. Provjerite jeste li dali ispravnu IP adresu za poslužitelje i zamijenite one na sljedećoj slici:

Vaš HAProxy sada je konfiguriran za WebSocket veze. Spremite promjene i zatvorite datoteku.

3. Testirajte valjanost

Prije nego ponovno pokrenemo HAProxy, možemo pokrenuti brzu naredbu da provjerimo je li datoteka valjana i nema li pogreške. Za to pokrenite sljedeću naredbu:

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

4. Ponovno pokrenite i testirajte WebSocket vezu

Nakon što je datoteka važeća, ponovno pokrenite uslugu HAProxy.

To je to. Konfigurirali ste HAProxy za WebSocket veze. Možete testirati vezu kako biste osigurali da se sav WebSocket promet prosljeđuje ispravno.

Zaključak

Konfiguriranje HAProxy za WebSocket veze traženo je rješenje, posebice od strane web administratora. Ovaj post detaljno je razradio proces, dajući korake i primjer kako biste bili sigurni da ćete ga jednostavno slijediti i uspjeti ga implementirati u svom slučaju. Prođite kroz svaki korak i uvjerite se da razumijete koncept i proces njegove implementacije.