Can you do Content-Based load balancing with NLB ?

Posted on 2004-10-25
Last Modified: 2010-04-19
Hi there,

Looking for some guidance with NLB.  I've never used it before but I have used other load balancers like Netegrity's Central Dispatch.  

We will have a 2-node Win 2003 cluster using IIS for the websites.  We will have video files that need to be served off of only 1 of the machines for various reasons.

With Netegrity's Central Dispatch, you can set up load balancing rules that state "If the file being requested is of this type, send the request to this machine."  I believe they call it "Content-Based" load balancing.

Can NLB be made to do this same type of routing ?  If so, how ?


Question by:trzesniakj
    LVL 82

    Expert Comment

    No, that can't be done with NLB; NLB provides, as the name says, network load balancing, not some sort of "content load balancing" or content scanning. It simply directs network packets to one of the cluster members, but it doesn't answer any web requests.
    But nothing keeps you from referencing a dedicated machine for the file download, or from adding a port rule to handle traffic on a specific port on a dedicated machine.

    Author Comment

    OK.  Great info.  Thanks !

    I'm going to talk more to our network guys about this.  But can you give me an example of how you would set up a port rule or how, in a cluster, you could reference a specific machine in the link for the file ?


    LVL 82

    Accepted Solution

    One possibility, if these are just regular downloads, is to simply change your website and adjust the download's target address to the dedicated server's absolute address (assuming you're usually using relative links).
    In case you want to have the option to have failover to the other machine in case your "video server" goes down, but usually have only one machine handle the video traffic, you can use a port rule.
    Add another web for your video stuff on both machines, let's call it VideoWeb; let it listen on a different port than 80, for example 81.
    In NLB Manager, right-click your NLB cluster, choose "cluster properties", go to the "port rules" tab. If you've created the NLB cluster with the NLB Administrator, it will already have created a default rule for the NLB cluster for the ports from 0 to 65535 and all cluster IP addresses, to distribute the load evenly. Edit that rule, so that it now handles the ports 0 to 80, and add two more like the one: one for ports 82 to 65535, one for port 81.
    Now right-click the cluster member that should handle the video traffic by default, choose "host properties", go to the "port rules" tab. Edit the "82" rule, and set the load weight to 100. Do the same for the other host, but set the load weight to 1.
    This should now keep the VideoWeb traffic on the video host by default, the other host should only take over if the video server goes down. If you don't want the other host handling this traffic at all, set the load weight to 0. During a catastrophe, you'd still be able to readjust this quickly.
    Instead of using another port, you could as well add another IP address to the cluster addresses, and assign the rule to the IP address. In this case, you'll have to change (and maybe multiply) the default rule, so that it will apply to the normal cluster address (and other cluster IP addresses you might have added).
    If you want to test this, but don't have the hardware for this, you can create a test environment using Virtual Server (you should get NLB to work with Virtual PC as well, but I haven't tried that yet). A machine with 1GB of RAM and W2k3 should easily handle your two test servers.

    Microsoft Virtual Server 2005

    Microsoft Virtual PC 2004

    Author Comment

    Wow !  Couldn't ask for a better explanation.  Thanks for all the help !


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Course: MongoDB Object-Document Mapper for NodeJS

    NodeJS (JavaScript on the server) is awesome, but some developers get confused about NoSQL when it comes to working in Node with MongoDB (NoSQL database). Do you need a better explanation of how to use Node.js with MongoDB? The most popular choice is the Mongoose library.

    by Batuhan Cetin Within the dynamic life of an IT administrator, we hold many information in our minds like user names, passwords, IDs, phone numbers, incomes, service tags, bills and the order from our wives to buy milk when coming back to home.…
    This may not be a text book method to resolve VSS backup issues but it seemed to have worked on few of the Windows 2003 servers we had issues while performing a Volume Shadow Copy backup. If you have issues while performing a shadow copy backup usin…
    Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
    This video discusses moving either the default database or any database to a new volume.

    913 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    16 Experts available now in Live!

    Get 1:1 Help Now