Windows-Ersatz für HAProxy

13

Es scheint nicht, dass es eine ähnliche Frage zu dieser bereits geposteten gibt, also werde ich weitermachen und fragen.

Ich arbeite an einem Projekt, das von zwei bis vier Servern profitieren könnte, die eingehende Anfragen an einen Backend-Webservice bearbeiten. Der Dienst erfordert kein SSL, muss jedoch gelegentlich lange laufende Prozesse (bis zu 120 Sekunden) unterstützen.

Dieses Projekt verfügt derzeit nicht über die Finanzierung, um eine Hardwarelastausgleichslösung zu erwerben.

Ich habe zuvor HAProxy als Lösung dafür verwendet und fand es sehr einfach und unkompliziert. Gibt es ein ähnliches Produkt für Windows (Server 2003 oder 2008), das ähnliche Konfigurationsoptionen bietet und als kompakter Dienst ausgeführt wird?

Aus Gründen, auf die ich keinen Einfluss habe, kann ich keinen Linux-Computer (physisch oder virtuell) einrichten. Daher suche ich nach einem Verhalten, das auf einem Windows-Computer bereitgestellt werden kann.

Ich kann nur Perlbal finden, das in diese Kategorie zu fallen scheint. Um dies nicht auf unbestimmte Zeit offen zu halten, werde ich die einzige Antwort anerkennen.

GrayWizardx
quelle
Welche Version von Windows?
Justin Scott
Windows Server 2003 oder 2008
GrayWizardx

Antworten:

4

Vielleicht Perlbal ? Dies ist eine auf Perl basierende Lastausgleichslösung. Ich habe selbst nicht damit gearbeitet, aber ich habe gesehen, dass es oft referenziert wird, und da es in Perl geschrieben ist, besteht eine gewisse Chance, dass es funktioniert. Aber...

... Google schlägt vor, dass der Windows-Server bereits über einen integrierten Netzwerklastenausgleichsdienst verfügt, wie hier und hier beschrieben .

larsks
quelle
Ich werde es mir ansehen. Windows LB ist nicht die LB, die der Client wünscht, da er einen Proxy-Load-Balancer zum Weiterleiten des Datenverkehrs an zwei Back-End-Server wünscht, die die Antwort gemeinsam nutzen. Ich weiß nicht viel über Windows LB, aber ich verstehe, dass es für dieses Projekt nicht funktionieren wird.
GrayWizardx
Auch Mircosoft NLB und virtuelle Umgebungen passen nicht gut zusammen.
Airey
10

Vorsicht, ich habe sehr negative Berichte von Leuten, die Windows LB verwenden. Dies war der Hauptgrund, warum sie zu Haproxy gewechselt sind. Wenn Sie mit Haproxy zufrieden sind, können Sie es mit der Cygwin-Suite auf Windows aufbauen. Ich habe es nicht selbst getestet, aber der Benutzer, der den Port ausgeführt hat, hat es getan. Er sagte mir auch, dass es ein Limit von ungefähr 1600 gleichzeitigen Verbindungen pro Prozess unter Windows gibt, was für Sie möglicherweise ausreicht oder nicht.

Nach meinem Verständnis sollte der Build so einfach sein wie unter Linux: "make". Wenn Sie weitere Informationen von diesem Benutzer benötigen, lade ich Sie ein, einen Anruf auf der Haproxy-Mailingliste zu senden. Alternativ gibt es hier sicherlich Leute, die bei der Einrichtung einer Cygwin-Build-Umgebung helfen können. Bitte verwenden Sie dazu die Version 1.3.22 (letzter Stable).

Willy Tarreau
quelle
9

Sie können NGINX als Reverse-Proxy verwenden. Es wird auf Windows-Plattformen unterstützt.

Gehen Sie zur NGINX-Homepage zum Herunterladen und Installieren: NGINX-Homepage

Es gibt ein sehr nettes Tutorial, wie man es für den Load Balancing konfiguriert: NGINX als Load Balancer

Koby Mizrahy
quelle
Der Link zum Tutorial funktioniert nicht mehr.
Chau
8

Ich weiß, es war lange Zeit für Fragen, aber wenn Sie etwas für Windows wollen, dann ist die Lösung ARR -> NLB

IIS ARR übernimmt Content Caching, Reverse Proxy und SSL Offloading. Es wird kein Lastenausgleich durchgeführt, für den Sie NLB auf Webservern verwenden müssen. Aber die Kombination dieser beiden ist sehr mächtig.

Wenn Sie am Ende eine Lösung implementieren, erwähnen Sie dies in diesem Thread, damit Benutzer, auf die Sie hier stoßen, von Ihren Erfahrungen profitieren können.

mamu
quelle
1
Ja, ARR ist es - und ARR ist "Application Request Routing" für IIS, iis.net/download/applicationrequestrouting
Jesper M
1
ARR bemüht sich um einen Lastausgleich für einen einzelnen Computer. Während Sie den Datenverkehr zwischen zwei verschiedenen Computern leiten können (und einer davon kann der Proxy selbst sein), haben Sie nicht die Kontrolle, die Sie mit HAPROXY haben, wenn Sie ihn einfach auf Adressen verweisen können.
Doug
0

Ich bin mit einer ähnlichen Situation konfrontiert und das funktioniert für mich. Es handelt sich um denselben Daemon, den Sie unter Linux für Windows finden können: http://mattiasgeniar.be/2010/04/14/tcp-traffic-redirection-on-windows/ http: //www.boutell.com/rinetd/

Tincho
quelle
Es sieht so aus, als ob das letzte Update von rinetd im April 2003 vor mehr als 11 Jahren durchgeführt wurde. In Anbetracht dessen, dass es behauptet, unter Windows 95/98 / NT zu laufen, werde ich bestehen
HairOfTheDog
0

Ich verstehe, dass die Frage wirklich alt ist, aber einige Leute möglicherweise immer noch vor dem gleichen Problem stehen. Die einfachste Lösung ist Cygwin. Das Beispiel finden Sie hier http://zcourts.com/2012/09/29/install-haproxy-on-windows-cygwin-good-for-testing/#sthash.PhJ3odwn.dpbs

Askhat
quelle
1
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier einzuschließen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verlinkte Seite ändert.
Kasperd