Jak obsługiwać ruch UDP za pomocą HAProxy

Jak Obslugiwac Ruch Udp Za Pomoca Haproxy



Mówiąc o HAProxy, pracujemy głównie z ruchem TCP lub HTTP, ponieważ są one najpopularniejszym typem ruchu. Może się jednak zdarzyć, że będziesz chciał pracować z protokołem UDP, aby zrównoważyć obciążenie ruchu bezpołączeniowego i bezstanowego.

Początkowo HAProxy nie obsługiwał ruchu UDP. Przestarzałe wersje HAProxy nadal nie obsługują ruchu UDP. Aby obsłużyć ruch UDP, musisz mieć zainstalowany HAProxy od wersji 1.5. Mając to na uwadze, w tym poście dowiesz się, jak obsługiwać ruch UDP za pomocą HAProxy. Porozmawiamy o znaczeniu HAProxy i jakich konfiguracjach należy dokonać, aby obsłużyć ruch UDP. Zacznijmy!

Czy HAProxy obsługuje ruch UDP?

HAProxy to darmowy moduł równoważenia obciążenia, który działa również jako odwrotne proxy. Dzięki HAProxy możesz skonfigurować sposób, w jaki Twoja aplikacja internetowa powinna obsługiwać ruch, rozdzielając go pomiędzy dostępne serwery. W ten sposób eliminujesz ryzyko przeciążenia serwera, powodującego przestoje i niedostępność.







Wcześniej wersje HAProxy nie obsługiwały ruchu UDP. Jednakże HAProxy począwszy od wersji 1.5 wspiera obsługę ruchu UDP. HAProxy działa tylko z ruchem połączeniowym, ale teraz można go skonfigurować tak, aby obsługiwał ruch bezpołączeniowy, tak jak ruch UDP.



Jak obsługiwać ruch UDP za pomocą HAProxy

Obsługa ruchu UDP za pomocą HAProxy przebiega według tych samych kroków, co obsługa ruchu TCP lub HTTP. Musisz jednak określić ustawienia UDP w sekcji frontonu pliku konfiguracyjnego HAProxy, aby mógł on oczekiwać i akceptować ruch UDP.



Zacznij od zainstalowania HAProxy. Możesz pobrać HAProxy z domyślnego repozytorium, które instaluje najnowszy dostępny system.





$ sudo apt-get zainstaluj haproksy

Po zainstalowaniu potwierdź, że zainstalowana wersja jest nowsza i nowsza niż wersja 1.5 obsługująca protokół UDP.



$ haproksy --wersja

W tym przypadku zainstalowaliśmy wersję 2.4, co oznacza, że ​​może ona wygodnie obsługiwać ruch UDP.

Teraz, gdy zweryfikowaliśmy poprawną wersję HAProxy, która może obsłużyć ruch UDP, następnym zadaniem jest skonfigurowanie HAProxy. Otwórz plik konfiguracyjny HAProxy za pomocą edytora tekstu.

$ sudo nano / itp / haproksy / haproxy.cfg

Po otwarciu pliku pozostaw sekcję globalną bez zmian.

Przewiń w dół do sekcji „domyślne” i zmodyfikuj ją, aby określić, gdzie wysyłać pliki dziennika i limity czasu dla różnych zadań, takie jak czas oczekiwania na połączenia przychodzące.

Musimy następnie utworzyć sekcję „słuchaj”. W tej sekcji definiujemy sposób nasłuchiwania połączeń. Musimy określić, czy HAProxy ma nasłuchiwać ruchu UDP, a następnie ustawić, który port UDP chcemy powiązać i używać dla przychodzącego ruchu UDP. Na koniec możemy określić, jak zrównoważyć przychodzący ruch UDP i jakich serwerów użyć do dystrybucji ruchu UDP.

Oto przykład sekcji „nasłuchiwania”, która obsługuje ruch UDP.

Skopiuj to samo i dodaj do pliku konfiguracyjnego HAProxy. Upewnij się, że zmieniłeś port powiązania, aby używać idealnego portu UDP do połączeń. Możesz określić inny algorytm równoważenia ruchu. Na koniec zmień nazwy serwerów i podaj rzeczywiste adresy IP swoich serwerów.

Po dokonaniu zmian zapisz plik konfiguracyjny i wyjdź z edytora tekstu. Możesz teraz ponownie uruchomić HAProxy, aby upewnić się, że przechwytuje nową konfigurację.

Dzięki temu Twój HAProxy jest skonfigurowany do obsługi ruchu UDP przez określony port i równoważenia ruchu do dołączonych serwerów. Upewnij się, że przetestowałeś konfigurację UDP, wysyłając ruch UDP do swojej aplikacji i obserwuj, jak ruch będzie obsługiwany.

Wniosek

Chociaż HAProxy jest przeznaczony głównie do obsługi ruchu TCP i HTTP, HAProxy, począwszy od wersji 1.5, można skonfigurować tak, aby nasłuchiwał i akceptował ruch UDP, a następnie równoważył obciążenie dostępnych serwerów. Aby obsługiwać ruch UDP za pomocą HAProxy, upewnij się, że określiłeś „mode udp” w sekcji „listen” HAProxy. Następnie ustaw algorytm balansu i jakich serwerów użyjesz. Przeczytaj ten post, aby zrozumieć, jakie kroki musisz wykonać, i odwołaj się do podanego przykładu, aby zrobić to dobrze.