Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



25.02.2020

Koszty w górę

Zmiany w licencjach VMware
24.02.2020

VPN na nowo

WireGuard w Linuksie
24.02.2020

Wydajność pod kontrolą

Citrix Analytics for Performance
24.02.2020

Zaawansowany backup

Veeam Availability Suite v10
20.02.2020

Serwery Enterprise

OVHCloud stawia na Ryzeny
20.02.2020

Monitory dla biznesu

Newline IP
20.02.2020

Przemysłowe SSD

Dyski Transcend M.2 NVMe
23.01.2020

Google Project Zero

Inicjatywa Google Project Zero
23.01.2020

Ochrona tylko w chmurze

Kaspersky Security Cloud Free

HAProxy w praktyce

Data publikacji: 19-06-2015 Autor: Grzegorz Adamowicz

W poprzednim numerze „IT Professional” przedstawiliśmy możliwości HAProxy – narzędzia pozwalającego na równoważenie obciążenia serwerów i zapewnienie wysokiej dostępności serwisów WWW. W tym artykule pokażemy, jak stosować oprogramowanie do równoważenia ruchu na przykładzie popularnego silnika blogowego WordPress.

Doświadczenie uczy, że jeśli strona google.pl nie ładuje się w przeglądarce, to możemy mieć niemal stuprocentową pewność, że wystąpiły lokalne problemy z dostępem do sieci. Skąd przekonanie, że problem nie leży po stronie dostawcy usług? Ze znajomości architektury rozwiązań Google’a, która gwarantuje wysoką dostępność serwisów tej firmy. Uzyskanie takiej niezawodności wymaga jednak dużych nakładów pracy i planowania, a przede wszystkim użycia właściwych narzędzi. Choć Google używa zaawansowanych metod, na nasze potrzeby wystarczą rozwiązania dostępne w sieci. Jednym z nich jest właśnie aplikacja HAProxy.

Dla przypomnienia: równoważenie ruchu polega na utrzymywaniu jednego serwisu (na przykład strony internetowej) z użyciem wielu serwerów. Program, który zarządza równoważeniem obciążenia serwerów, nasłuchuje na portach, poprzez które klienci zewnętrzni łączą się z serwisami internetowymi i przekazuje zapytania do serwerów, na których działa docelowa aplikacja. Dzięki temu aplikacja równoważąca może zdecydować, do którego serwera przekazać dane połączenie. Takie działanie pozwala także na wewnętrzną separację różnych funkcji aplikacji, co z kolei zwiększa bezpieczeństwo wewnętrznej infrastruktury.

Oprócz serwisów WWW balansuje się również serwery FTP, NNTP, DNS oraz dostęp do baz danych. Oczywiście musimy również zadbać o to, by serwer lub urządzenie, które zawiaduje równoważeniem, nie stało się tzw. pojedynczym punktem podatności na awarię (SPOF, Single Point of Failure), co może doprowadzić do problemów związanych z dostępnością danej usługi.

> Algorytmy równoważenia

Ponieważ każda aplikacja może mieć inne potrzeby odnośnie do balansowania ruchu, powstało kilka algorytmów, których możemy użyć. Najprostszym i w niektórych zastosowaniach wystarczającym, jest round robin, który polega na przekierowywaniu klientów po kolei do każdego serwera. Pozostałe popularne algorytmy to: priorytetowy (priority), ważony (weighted balance), nadmiarowy (overflow), typu „najmniej używany” (least used) i najmniejszych opóźnień (lowest latency). Ponadto rozróżniamy równoważenie ruchu w warstwie czwartej (transportowej) i siódmej (aplikacji) modelu OSI sieci. Wymienione algorytmy skupiają się na warstwie czwartej, co w praktyce oznacza, że jeśli przyjdzie zapytanie od klienta o stronę pod adresem www.example.org/kontakt, aplikacja przekaże to zapytanie do serwera, który obsługuje www.example.org na porcie 80 (WWW).

Równoważenie ruchu w warstwie siódmej w praktyce polega na tym, że aplikacja balansująca decyduje o tym, do którego serwera przekazać zapytanie na podstawie jego zawartości. Pozwala to również na utrzymywanie różnych aplikacji, używających tej samej domeny i portu.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"