I recently bought a Cisco 1801, and it sure is capable! Anyhow, I've got a hobby website that is getting a fair bit of traffic - approaching too much for one node to handle and it's time to start thinking about distributing the load.
I'd like to do a little clustering of server nodes running Apache Geronimo, which is J2EE running atop Apache Tomcat. For the sake of keeping things generic, let's just call it Tomcat because it configures the same way.
I do not run Apache HTTP Server as a proxy, I only run Tomcat directly connected to the internet. I do this for performance reasons.
Anyhow, I'm wondering if any of you evil geniuses could suggest a way that I could cluster Tomcat nodes directly using the router to serve as a hardware load balancer and have the whole sticky session thing with failover, etc... All of the documents I find on the subject discuss clustering by way of Apache HTTP with Mod_JK.
I guess my question is, chiefly, is what I want even possible? Is this something that happens automagically and I just need to configure the Tomcat instances to look to the router? Or, is there a special configuration required in the router as well?
Also, I hear more about hardware load balancing in the context of commercial application servers like BEA WebLogic, and not open source ones like Tomcat. Is this because only the commercial vendors really focus on the scalability aspects, or is it just a lack of documentation on the part of these open source application servers?
I'm somewhat clueful on how to configure the router past the basics of the Web UI. I know just enough to make myself dangerous. :) (That said, please feel free to drop any infos on me that you think might help no matter how esoteric, I'm very handy with Google.)
Thanks so much for reading and for any replies. If there is a better forum for my question, please direct me there.
I'll be honest, I have not used a router to do this - the documentation is at http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a00800ca75d.html#wp1005017
a Router can do things like sticky, but it appear to be on or off - no optios on how it is done - the only way IOS appears to do it is by source addressm so if users go therough a proxy, all will hit the same server.
The monitoring of servers appears more passive than that available on a CSS, and is simply by watching TCP connections and seeing if they succeed. A server that accepts connections, but reports http error 500 will still get requests from a router, but with a CSS the server would be marked as down - along with whole host of other options for keepalives on the server.
The CSS also offers more options for load balancing algorithms, my favourite being ACA where the CSS monitors the responses from a server, and faster responding servers are favoured with more connections.
It may be worth following the documentation link and giving it a try - with the constraints of what it doe, it may *just* do what you need.