Thursday, February 3, 2011

Is it possible to configure Windows Server 2008 Network Load Balancer to balance load based on HTTP methods.

Hi all,

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.

  • 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).

    Guillaume : 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.
    TomTom : Irrelevant. You could put an IIS server IN FRONT that uses the routing module to route the requests to the proper backend servers ;)
    From TomTom
  • 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.

    Guillaume : 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.
    From gabbelduck

0 comments:

Post a Comment