Kā konfigurēt HAProxy WebSocket savienojumiem

Ka Konfiguret Haproxy Websocket Savienojumiem



WebSocket lietojumprogrammām ir reāllaika un divvirzienu saziņa starp klientu un serveri. Pat ar WebSocket savienojumiem jums joprojām ir nepieciešams veids, kā sadalīt trafiku, lai izvairītos no servera pārslodzes, kas izraisītu dīkstāvi un nepieejamību.

HAProxy ir bezmaksas un uzticama slodzes balansētāja piemērs, kas darbojas arī kā reversais starpniekserveris. Varat konfigurēt HAProxy WebSocket savienojumiem, lai labāk izmantotu WebSockets funkcijas, īpaši reāllaika datu pārsūtīšanai, vienlaikus samazinot servera slodzi, izmantojot HAProxy. Šajā ziņojumā ir norādītas visas nepieciešamās darbības, lai konfigurētu HAProxy WebSocket savienojumiem.

Soli pa solim rokasgrāmata par HAProxy konfigurēšanu WebSocket savienojumiem

Izmantojot WebSocket savienojumus, servera un klienta komunikācija ir ilgstoša. Tas turpinās, līdz serveris vai klients nolemj to aizvērt. Tādējādi, ja ir veids, kā strādāt ar slodzes balansētāju, tiek nodrošināts, ka trafiku var sadalīt uz citu serveri, ja serveris ir pārslogots. Tādā veidā klients un serveris var baudīt nepārtrauktu un ilgstošu savienojumu ar zemu latentumu.







1. Instalējiet HAProxy

Pirmais solis, lai konfigurētu HAProxy WebSocket savienojumiem, ir nodrošināt, lai HAProxy būtu instalēts. Ja tas jau ir instalēts, izlaidiet šo darbību. Pretējā gadījumā palaidiet šo komandu, lai to instalētu:



$ sudo apt-get install haproxy



2. Rediģējiet HAProxy konfigurāciju

Lai konfigurētu HAProxy WebSocket savienojumiem, mums ir jārediģē HAProxy konfigurācija, lai atbalstītu WebSocket savienojumus. Mums ir jāmaina sadaļa “Noklusējumi” un jāizveido sadaļas “Frontend” un “Backend”.





Atveriet HAProxy konfigurāciju, izmantojot teksta redaktoru, kā norādīts tālāk.

$ sudo nano / utt / haproxy / haproxy.cfg

Sadaļā “Noklusējumi” mainiet to, kā parādīts nākamajā attēlā. Pirmkārt, mēs norādām, ka strādājam ar HTTP savienojumiem, un definējam, kur nosūtīt žurnālfailus. Tālāk mēs iestatām dažādu darbību taimautus. Piemēram, savienojuma noildze ir maksimālais laiks, kas nepieciešams savienojuma mēģinājumam ar serveri. Ja tiek sasniegts maksimālais laiks, tiek secināts, ka savienojums nav izdevies, un to var mēģināt vēlreiz.



Šajā gadījumā savienojuma noildze ir iestatīta uz 5000 milisekundēm. Varat pielāgot taimautu atbilstoši jūsu gadījumam vislabākajam. Pielāgojiet tos, pamatojoties uz savu lietojumprogrammu, un atcerieties WebSocket sesiju ilgumu un paredzamo to ilgumu.

Pēc tam mums ir jāizveido sadaļa “Frontend”, kurā mēs saistām, kuri porti jāizmanto WebSocket savienojumiem un uz kuru aizmugursistēmas serveri jāatsaucas. Šajā gadījumā mēs norādām 80. portu un piešķiram URL, lai piekļūtu lapai “Statistika”, lai pārraudzītu mūsu HAProxy. Visbeidzot, mēs definējam, uz kuru aizmugursistēmas sadaļu atsaukties slodzes līdzsvarošanā.

Sadaļā “Backend” mēs sadalām slodzi, izmantojot apļveida metodi. “Opcija pārsūtīt uz” norāda, ka HAProxy iekļauj galveni “X-Forward-For”, kas satur klienta IP adresi, nosūtot savienojuma pieprasījumu. Tādā veidā aizmugursistēmas serveris iegūs pareizo klienta IP.

Opcija http-server-close ierobežo resursus, novēršot visus dīkstāves savienojumus, kas neaizņem servera resursus. Lai gan WebSocket savienojumi ir ilgmūžīgi, mums ir jāpārbauda dīkstāves ilgstoši savienojumi un tie jāaizver, lai izvairītos no nevajadzīgas resursu izšķērdēšanas.

Visbeidzot pievienojiet aizmugursistēmas serverus, kurus izmantosit trafika izplatīšanai. Pārliecinieties, ka serveriem esat norādījis pareizo IP adresi un nomainiet tās, kas redzamas šajā attēlā:

Jūsu HAProxy tagad ir konfigurēts WebSocket savienojumiem. Saglabājiet izmaiņas un aizveriet failu.

3. Derīguma pārbaude

Pirms HAProxy restartēšanas mēs varam palaist ātru komandu, lai pārbaudītu, vai fails ir derīgs un vai tajā nav kļūdu. Lai to izdarītu, palaidiet šādu komandu:

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

4. Restartējiet un pārbaudiet WebSocket savienojumu

Kad fails ir derīgs, restartējiet HAProxy pakalpojumu.

Tieši tā. Jūs konfigurējāt HAProxy WebSocket savienojumiem. Varat pārbaudīt savienojumu, lai nodrošinātu, ka visa WebSocket trafika tiek pārsūtīta pareizi.

Secinājums

HAProxy konfigurēšana WebSocket savienojumiem ir pieprasīts risinājums, īpaši tīmekļa administratoriem. Šajā ziņojumā process ir sīki izstrādāts, sniedzot darbības un piemēru, lai nodrošinātu, ka jūs ērti sekojat līdzi un izdodas to īstenot savā gadījumā. Izejiet katru soli un pārliecinieties, ka saprotat koncepciju un tās īstenošanas procesu.