Kaip sukonfigūruoti HAProxy WebSocket ryšiams

Kaip Sukonfiguruoti Haproxy Websocket Rysiams



„WebSocket“ programos turi realaus laiko ir dvikryptį ryšį tarp kliento ir serverio. Net ir naudojant „WebSocket“ ryšius, vis tiek reikia būdo paskirstyti srautą, kad būtų išvengta serverio perkrovos, dėl kurios gali atsirasti prastovos ir nepasiekiamumas.

HAProxy yra nemokamo ir patikimo apkrovos balansavimo, kuris taip pat veikia kaip atvirkštinis tarpinis serveris, pavyzdys. Galite sukonfigūruoti HAProxy WebSocket ryšiams, kad geriau išnaudotų WebSockets funkcijas, ypač perduodant duomenis realiuoju laiku, kartu sumažinant serverio apkrovą naudojant HAProxy. Šiame įraše pateikiami visi reikalingi veiksmai, norint sukonfigūruoti HAProxy WebSocket ryšiams.

Žingsnis po žingsnio vadovas, kaip sukonfigūruoti HAProxy WebSocket ryšiams

Naudojant WebSocket ryšius, serverio ir kliento ryšys trunka ilgai. Jis išlieka tol, kol serveris arba klientas nusprendžia jį uždaryti. Taigi, turint galimybę dirbti su apkrovos balansavimo priemone, srautas gali būti paskirstytas kitam serveriui, jei serveris yra perkrautas. Tokiu būdu klientas ir serveris gali mėgautis nepertraukiamu ir ilgalaikiu ryšiu su maža delsa.







1. Įdiekite HAProxy

Pirmas žingsnis konfigūruojant HAProxy WebSocket ryšiams yra įsitikinti, kad turite įdiegtą HAProxy. Jei jį jau įdiegėte, praleiskite šį veiksmą. Kitu atveju paleiskite šią komandą, kad ją įdiegtumėte:



$ sudo apt-get install haproxy



2. Redaguokite HAProxy konfigūraciją

Norėdami sukonfigūruoti HAProxy WebSocket ryšiams, turime redaguoti HAProxy konfigūraciją, kad palaikytų WebSocket ryšius. Turime pakeisti skyrių „Numatytieji“ ir sukurti skyrius „Priekinė“ ir „Galinė dalis“.





Atidarykite HAProxy konfigūraciją naudodami teksto rengyklę taip:

$ sudo nano / ir tt / haproxy / haproxy.cfg

Skiltyje „Numatytieji nustatymai“ pakeiskite jį taip, kaip parodyta kitame paveikslėlyje. Pirmiausia nurodome, kad dirbame su HTTP ryšiais ir apibrėžiame, kur siųsti žurnalo failus. Tada nustatome skirtingų veiklų skirtąjį laiką. Pavyzdžiui, skirtasis prisijungimo laikas yra maksimalus laikas, kurį turi užtrukti bandymas prisijungti prie serverio. Pasiekus maksimalų laiką, nustatoma, kad ryšys nepavyko ir gali būti bandomas dar kartą.



Šiuo atveju nustatome 5000 milisekundžių prisijungimo skirtąjį laiką. Galite koreguoti skirtąjį laiką pagal tai, kaip jums atrodo tinkamiausia jūsų atveju. Koreguokite juos pagal savo programą ir atsiminkite WebSocket seansų trukmę ir tai, kiek ilgai jie tikitės.

Tada turime sukurti skyrių „Priekinė dalis“, kur susiesime, kokius prievadus naudoti „WebSocket“ ryšiams ir į kokį galinį serverį nurodyti. Šiuo atveju nurodome 80 prievadą ir suteikiame URL, kad galėtumėte pasiekti puslapį „Statistika“ ir stebėti mūsų HAProxy. Galiausiai, apibrėžiame, į kurią užpakalinės dalies skyrių reikia vadovautis balansuojant apkrovą.

Skiltyje „Backend“ paskirstome apkrovą naudodamiesi „round robin“. „Option forward for“ nurodo, kad HAProxy turi įtraukti antraštę „X-Forward-For“, kurioje yra kliento IP adresas siunčiant ryšio užklausą. Tokiu būdu galinis serveris gaus teisingą kliento IP.

„Parinktis http-server-close“ apriboja išteklius, pašalindama bet kokius neveikiančius ryšius, kurie neužimtų serverio išteklių. Nors „WebSocket“ ryšiai yra ilgalaikiai, turime patikrinti, ar nėra ilgai veikiančių jungčių, ir jas uždaryti, kad išvengtume nereikalingo išteklių švaistymo.

Galiausiai pridėkite galinius serverius, kuriuos naudosite srautui paskirstyti. Įsitikinkite, kad nurodėte teisingą serverių IP adresą ir pakeiskite esančius šiame paveikslėlyje:

Jūsų HAProxy dabar sukonfigūruotas WebSocket jungtims. Išsaugokite pakeitimus ir uždarykite failą.

3. Galiojimo testas

Prieš paleisdami HAProxy iš naujo, galime paleisti greitą komandą, kad patikrintume, ar failas yra tinkamas ir ar jame nėra klaidų. Norėdami tai padaryti, paleiskite šią komandą:

$ sudo haproxy -c -f / ir tt / haproxy / haproxy.cfg

4. Iš naujo paleiskite ir patikrinkite WebSocket ryšį

Kai failas galioja, iš naujo paleiskite HAProxy paslaugą.

Viskas. Sukonfigūravote HAProxy WebSocket jungtims. Galite išbandyti ryšį, kad įsitikintumėte, jog visas „WebSocket“ srautas persiunčiamas teisingai.

Išvada

HAProxy konfigūravimas WebSocket ryšiams yra geidžiamas sprendimas, ypač žiniatinklio administratorių. Šiame įraše procesas buvo išsamiai aprašytas, pateikiant veiksmus ir pavyzdį, kad galėtumėte patogiai sekti ir sugebėti tą patį įgyvendinti savo atveju. Atlikite kiekvieną žingsnį ir įsitikinkite, kad suprantate koncepciją ir jos įgyvendinimo procesą.