I asked this question, and a bit disappointed that NLB was not a widely-used solution.
I want to ask about widely-used solutions in the world now. Can you give me a list and a brief introduction for each? Cause of limitation of my thesis resource, I need to focus on software-only, Windows-based solution (both database level and system level are welcome).
I've used Linux VS as load balancer for a 20 GB/day mail system and it worked just fantastic. It will scale for a lot of solutions you may encounter.
An number of free and open source load balancers/web proxies can be made to run on Windows, but configuration is a bit of of pain. I have tried nginx, lighttpd, and goold old Apache for various load balancing setups.
That said Windows NLB is fine, you just need a lot of custom scripting to handle failure scenarios properly. Personally, we use nginx running on Linux VMs in front of our Windows machines, because like most other open source tools, nginx works much better on Linux than Windows.
Pound, HAproxy, and LVS are also used extensively in the open source world.
You will not be lucky with those. As I already said, most load balancing widely used is NOT software.
The main reason for this is the following:
You can check http://en.wikipedia.org/wiki/Load_balancing_%28computing%29 for a list of providers.
That, sadly, leaves software solutions out of the window. Mostly because standard hardware has problems handling the network traffic to start with (which is why routers / switches of high power are not built on stock parts). A software solution is simply not as scalable as hardware. And as most people use hardware.... that is it. Look at the bandwidth of higher end solutions from Extreme Networks or Cisco and you may get an idea what I am talking about.
So, basically, if your thesis is limited on widely used software based load balancers, this is the same as limiting it it on widely used cars running on kerosene. They simply do not exist.