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



23.06.2020

PLNOG Online

PLNOG Online
23.06.2020

Nowe zagrożenie

Ramsay
23.06.2020

Chmurowe kopie

Veeam Backup dla Microsoft Azure
19.06.2020

Nowości w kontenerach

Red Hat OpenShift 4.4
19.06.2020

Analityka bezpieczeństwa

FortiAI
19.06.2020

UPS dla obliczeń edge

Schneider APC Smart-UPS
16.06.2020

Przemysłowe SD

Nowe karty Transcend
16.06.2020

Storage dla SMB

QNAP TS-451DeU
16.06.2020

Pamięć masowa

Dell EMC PowerStore

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"