Zastąpienie systemu Windows przez HAProxy

13

Nie wydaje się, że istnieje podobne pytanie do tego, które już zostało opublikowane, więc pójdę dalej i zapytam.

Pracuję nad projektem, w którym dwa-cztery serwery obsługują przychodzące żądania do usługi WWW zaplecza. Usługa nie wymaga protokołu SSL, ale musi obsługiwać sporadyczne długotrwałe procesy (do 120 sekund).

Ten projekt nie ma obecnie środków na zakup sprzętu do równoważenia obciążenia sprzętowego.

Wcześniej użyłem HAProxy jako rozwiązania tego problemu i uznałem to za bardzo proste. Czy istnieje podobny produkt dla systemu Windows (serwer 2003 lub 2008), który zapewnia podobne opcje konfiguracji i działa jako lekka usługa?

Z przyczyn niezależnych ode mnie nie mogę skonfigurować komputera z systemem Linux (fizycznym lub wirtualnym), dlatego szukam zachowania, które można wdrożyć na komputerze z systemem Windows.

Mogę znaleźć tylko Perlbala, który wydaje się należeć do tej kategorii. Aby nie pozostawiać tego otwartego bez końca, podam jedyną odpowiedź.

GrayWizardx
źródło
Jaka wersja systemu Windows?
Justin Scott,
Windows Server 2003 lub 2008
GrayWizardx,

Odpowiedzi:

4

Może Perlbal ? Jest to oparte na Perlu rozwiązanie do równoważenia obciążenia. Sam z nim nie pracowałem, ale często go widuję, a ponieważ jest napisany w Perlu, istnieje szansa, że ​​zadziała. Ale...

... Google sugeruje, że serwer Windows ma już wbudowaną usługę równoważenia obciążenia sieciowego, jak omówiono tutaj i tutaj .

Larsks
źródło
Zapoznam się z tym. Windows LB nie jest LB, którego chce klient, ponieważ chce modułu równoważenia obciążenia proxy do przekazywania ruchu do dwóch serwerów zaplecza, które będą dzielić odpowiedź. Nie wiem dużo o Windows LB, ale rozumiem, że to nie zadziała w tym projekcie.
GrayWizardx,
Również Mircosoft NLB i środowiska wirtualne nie pasują do siebie.
aairey
10

Uważaj, mam bardzo negatywne raporty od osób korzystających z Windows LB, co było głównym powodem, dla którego przeszły na haproxy. Jeśli jesteś zadowolony z haproxy, możesz zbudować go w systemie Windows za pomocą pakietu cygwin. Nie testowałem tego sam, ale zrobił to użytkownik, który wykonał port. Powiedział mi również, że istnieje ograniczenie do około 1600 równoczesnych połączeń na proces w systemie Windows, co może, ale nie musi być dla Ciebie wystarczające.

Z mojego zrozumienia, kompilacja powinna być tak prosta jak na Linuksie: „make”. Jeśli potrzebujesz więcej informacji od tego użytkownika, zapraszam do wysłania rozmowy na liście mailingowej haproxy. Alternatywnie, na pewno są tu ludzie na serwerze, którzy mogą pomóc w konfiguracji środowiska kompilacji Cygwin. W tym celu użyj wersji 1.3.22 (najnowsza stabilna).

Willy Tarreau
źródło
8

Wiem, że minęło dużo czasu na pytanie, ale jeśli chcesz coś dla systemu Windows, rozwiązaniem jest ARR -> NLB

IIS ARR wykona buforowanie zawartości, odwrotne proxy, odciążanie SSL. Nie wykonuje równoważenia obciążenia, ponieważ musisz używać równoważenia obciążenia sieciowego na serwerach WWW. Ale kombinacja jest taka, że ​​te dwa są bardzo potężne.

Również jeśli w końcu wdrożysz jakieś rozwiązanie wspomniane w tym wątku, aby użytkownicy, którzy natkną się na to, mogą skorzystać z twojego doświadczenia.

mamu
źródło
1
Tak, ARR to jest - a ARR to „Routing żądania aplikacji” dla IIS, iis.net/download/applicationrequestrouting
Jesper M
1
ARR ma problem z równoważeniem obciążenia pojedynczej maszyny. Chociaż możesz kierować ruchem między dwiema różnymi maszynami (a jednym z nich może być sam serwer proxy), nie masz szczegółowej kontroli, którą masz w HAPROXY, ponieważ możesz po prostu skierować go na adresy.
Doug
0

Rozumiem, że pytanie jest naprawdę stare, ale niektórzy ludzie mogą nadal napotykać ten sam problem. Tak więc najłatwiejszym rozwiązaniem jest Cygwin. Przykład jest tutaj http://zcourts.com/2012/09/29/install-haproxy-on-windows-cygwin-good-for-testing/#sthash.PhJ3odwn.dpbs

Askhat
źródło
1
Chociaż ten link może odpowiedzieć na pytanie, lepiej dołączyć tutaj istotne części odpowiedzi i podać link w celach informacyjnych. Odpowiedzi zawierające tylko łącze mogą stać się nieprawidłowe, jeśli połączona strona ulegnie zmianie.
kasperd