Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I am currently investigating Windows Server 2008 clustering features (for fail-over and load balancing purposes). I am thinking of using NLB to balance HTTP requests to 2 or more web application servers. Is it possible to configure NLB to route traffic based on the type of HTTP requests or does it only operate at the IP address / port level?

I am wondering how NLB compares in terms of features with a reverse proxy such as nginx. I do appreciate that they are implemented very differently, however nginx can route requests to web servers based on factors such as HTTP methods, headers, etc... So I am wondering if such a thing is possible with NLB.

Many thanks in advance.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

NLB is a hairy beast and has some unique network requirements that can drive a switched network into the ground if you don't organize things correctly.

If you need to balance based on higher layer information like request-type and whatnot, you are better off with haproxy or some other dedicated load-balancing software... far more flexible and nicer to your network. NLB is useful, but only within a narrow band of applications.

share|improve this answer
    
Thanks for the advice. I had noticed that NLB is very picky when it comes to the configuration of the network. For instance multicast mode did not work for me at all, and it is not clear why it is the case. –  Guillaume Oct 6 '10 at 9:02

NLB is a load balancer, not a reverse proxy. IIS has it's own ROUTING mechanism that can do the rest (but would require a balancing server in front to do the routing).

share|improve this answer
    
Thanks for the quick reply. This confirms what I had gathered so far. Unfortunately, I can't use IIS since I am deploying a Servlet based Web Application. –  Guillaume Sep 2 '10 at 11:17
1  
Irrelevant. You could put an IIS server IN FRONT that uses the routing module to route the requests to the proper backend servers ;) –  TomTom Sep 2 '10 at 13:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.