Software Clustering

If you'll remember back to our first upgrade article, you'll know that we went with a software clustering solution to balance the load between our (at the time) five AnandTech Web Servers.  The software clustering software we used was Allaire's ClusterCATS that is bundled with Cold Fusion Enterprise Edition (Cold Fusion is our Web front end software).

The way ClusterCATS worked with our server setup was simple; we used something known as Round-Robin DNS that meant whenever you typed in the domain would resolve (point to) one of the five IP addresses of our five AnandTech Web Servers.  The first person to type in would get pointed at the first AT Web Server, the second person would get the second AT Web Server and so on…

After getting to one of these servers, ClusterCATS would look at the server and find out whether it was loaded too heavily or not (we set variables in software to define what "too heavy" of a load was).  If the server was loaded too heavily, then you would be seamlessly transported to one of the other web servers, more specifically, the one with the least amount of load on it. 

As you can probably guess, this creates a decent amount of overhead because you are being bounced around once you're already on one server.  Another side effect was that the software wasn't exactly the best-made package we had used, often times it would do odd things such as cause certain images not to load properly and we even had problems with servers being randomly thrown out of the cluster.  It was clear that this wasn't a good long-term solution, and other software packages would still have the same overhead problems as ClusterCATS; we needed a dedicated piece of hardware that would handle the task of load balancing.

Cisco happened to make such a device that they called the Local Director.  Just recently Cisco's acquisition of ArrowPoint Communications allowed them to replace the Local Director with ArrowPoint's line of hardware load balancing devices.  These devices are relatively simple, they consist of a RISC processor, a decent amount of memory (usually around 128MB), and a few network interface ports for connectivity.

With a hardware based solution such as Cisco's units, instead of using a Round-Robin DNS setup, would resolve to the IP address of the load balancer and this device would direct you at the server with the least amount of load on it.  The premise is simple, and the hardware is really nothing more than a dedicated computer, however Cisco charges around $25,000 for their mid-range ArrowPoint solutions.  There had to be a better way.

Mayday, mayday, we're going down A Better Alternative

Log in

Don't have an account? Sign up now