Load Balancer to rozwiązanie, które polega na równoważeniu obciążenia serwerów i aplikacji na nich zainstalowanych. Load Balancer to specjalny rodzaj serwera, który dystrybuuje ruch sieciowy pomiędzy klaster serwerów. Zaletami tego rozwiązania jest wysoka dostępność Twoich zasobów, co ma m.in. wpływ na niezawodność i czas ładowania strony lub aplikacji.
Za pomocą usługi e24cloud Load Balancer istnieje możliwość zapewnienia swojej aplikacji wysokiej dostępności. Użytkownik definiuje port, na którym nasłuchuje Load Balancer oraz endpointy - maszyny wirtualne. Warunkiem jest wcześniejsze utworzenie sieci prywatnej (VXLAN) z wykorzystaniem której odbywa się komunikacja na linii Load Balancer <-> endpointy.
W poniższym przykładzie rozpatrzymy scenariusz, w którym tworzymy Load Balancer na potrzebę zapewnienia
wysokiej dostępności dla naszej aplikacji działającej na porcie 80
- HTTP. Posiadamy 2 maszyny - działa
na nich NGINX. Docelowo architektura wygląda tak:
W celu utworzenia Load Balancera, należy z menu po lewej stronie wybrać Serwery -> Load Balancery e24cloud. Następnie klikamy w przycisk Dodaj nowy Load Balancer. Pojawia się następujący formularz:
Podajemy lokalizację Load Balancera oraz jego nazwę. Ważnym punktem jest wybór odpowiedniego VXLANU - sieci prywatnej - po której odbywać się będzie komunikacja wewnętrzna z endpointami. Podajemy również adres IP Load Balancera w sieci wewnętrznej. Ważne, by adres IP nie był zajęty przez maszynę wirtualną - taka sytuacja może doprowadzić do konfliktu sieciowego. Następnym krokiem jest dodanie portu/portów - na których działa aplikacja - oraz adresu/adresów IP endpointów, na które będzie przekierowywany ruch sieciowy. Po zatwierdzeniu - Stwórz Load Balancer - Load Balancer zostanie utworzony i otrzyma swój publiczny adres IP.
Load Balancer weryfikuje w interwałach 1-sekundowych obecność pliku backend-test
w katalogu
głównym na poszczególnych endpointach. W przypadku gdy HTTP code
będzie inny niż 200, Load Balancer
przestanie kierować ruch na problematyczny endpoint.
Jeżeli wszystko zostało skonfigurowane poprawnie, weryfikacja poprzez odwołanie się do Load Balancera
z wykorzystaniem protokołu HTTP powinna pokazać zawartość jednego z endpointów.