Hvordan håndtere UDP-trafikk med HAProxy

Hvordan Handtere Udp Trafikk Med Haproxy



Når vi snakker om HAProxy, jobber vi hovedsakelig med TCP- eller HTTP-trafikk siden de er den vanligste typen trafikk. Du kan imidlertid ha et tilfelle der du ønsker å jobbe med UDP for å lastebalanse en forbindelsesløs og statsløs trafikk.

Opprinnelig støttet ikke HAProxy UDP-trafikken. Utdaterte HAProxy-versjoner støtter fortsatt ikke UDP-trafikken. For å håndtere UDP-trafikken må du ha en HAProxy installert fra versjon 1.5. Med det i tankene vil dette innlegget veilede deg om hvordan du håndterer UDP-trafikken med HAProxy. Vi vil snakke om viktigheten av HAProxy og hvilke konfigurasjoner du bør gjøre for å håndtere UDP-trafikken. La oss komme i gang!

Støtter HAProxy UDP-trafikken?

HAProxy er en gratis lastbalanser som også fungerer som en omvendt proxy. Med HAProxy kan du konfigurere hvordan webapplikasjonen din skal håndtere trafikken ved å distribuere den blant de tilgjengelige serverne. På den måten eliminerer du sjansene for overbelastning av serveren, noe som forårsaker nedetid og utilgjengelighet.







Tidligere støtter ikke HAProxy-versjoner håndtering av UDP-trafikken. Imidlertid støtter HAProxy, fra og med versjon 1.5, håndtering av UDP-trafikken. HAProxy fungerer bare med tilkoblingsorientert trafikk, men du kan nå konfigurere den til å håndtere tilkoblingsløs trafikk som med UDP-trafikk.



Hvordan håndtere UDP-trafikken med HAProxy

Håndtering av UDP-trafikken med HAProxy følger de samme trinnene som å håndtere TCP- eller HTTP-trafikken. Du må imidlertid spesifisere UDP-innstillingene i frontend-delen av HAProxy-konfigurasjonsfilen for at den skal forvente og godta UDP-trafikken.



Start med å installere HAProxy. Du kan hente HAProxy fra standardlageret som installerer det siste tilgjengelige systemet.





$ sudo apt-get install haproksy

Når den er installert, bekrefter du at den installerte versjonen er nyere og over versjon 1.5 for å støtte UDP.



$ haproksy --versjon

Vi installerte versjon 2.4 for denne saken, noe som betyr at den komfortabelt kan håndtere UDP-trafikken.

Nå som vi har verifisert den riktige HAProxy-versjonen som kan håndtere UDP-trafikken, er neste oppgave å konfigurere HAProxy. Åpne HAProxy-konfigurasjonsfilen ved hjelp av et tekstredigeringsprogram.

$ sudo nano / etc / haproksy / haproxy.cfg

Når filen åpnes, la den globale delen være som den er.

Rull ned til 'standarder'-delen og endre den for å spesifisere hvor du skal sende loggfilene og tidsavbrudd for forskjellige oppgaver, for eksempel hvor lenge du skal vente på de innkommende tilkoblingene.

Vi må da lage en 'lytte'-seksjon. I denne delen definerer vi hvordan du lytter etter tilkoblinger. Vi må spesifisere til HAProxy for å lytte etter UDP-trafikken og deretter angi hvilken UDP-port vi ønsker å binde og bruke for den innkommende UDP-trafikken. Til slutt kan vi spesifisere hvordan vi skal balansere den innkommende UDP-trafikken og hvilke servere som skal brukes til å distribuere UDP-trafikken.

Her er et eksempel på en 'lytt'-seksjon som håndterer UDP-trafikken.

Kopier det samme og legg det til HAProxy-konfigurasjonsfilen. Sørg for at du endrer bindingsporten for å bruke din ideelle UDP-port for tilkoblingene. Du kan spesifisere en annen algoritme for å balansere trafikken. Til slutt, endre servernavnene og oppgi de faktiske IP-adressene for serverne dine.

Når du har gjort endringene, lagrer du konfigurasjonsfilen og avslutter tekstredigeringsprogrammet. Du kan nå starte HAProxy på nytt for å sikre at den fanger opp den nye konfigurasjonen.

Med det er HAProxyen din konfigurert til å håndtere UDP-trafikken via den angitte porten og balansere trafikken til de inkluderte serverne. Sørg for at du tester UDP-konfigurasjonen ved å sende UDP-trafikken til applikasjonen din og se hvordan trafikken blir håndtert.

Konklusjon

Selv om HAProxy hovedsakelig er designet for å håndtere TCP- og HTTP-trafikk, kan HAProxy, fra og med versjon 1.5, konfigureres til å lytte og akseptere UDP-trafikken og deretter lastebalanse blant de tilgjengelige serverne. For å håndtere UDP-trafikken med HAProxy, sørg for at du spesifiserer 'mode udp' i 'lytt'-delen av HAProxy. Sett deretter balansealgoritmen og hvilke servere som skal brukes. Gå gjennom dette innlegget for å forstå hvilke trinn du må følge og referer til eksemplet for å få det riktig.