cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
654
Views
5
Helpful
5
Replies

Clustering Tomcat directly with Cisco Router

dwoldrich
Level 1
Level 1

Hello forum!

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.

Cheers,

Dave Woldrich

http://cardmeeting.com

1 Accepted Solution

Accepted Solutions

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.

Paul.

View solution in original post

5 Replies 5

paul.matthews
Level 5
Level 5

Any load balancing in a routing platform will tend to be pretty rudimentary, and you seem to have pretty specific requirements.

I would suggest you look at the CSS range of products, as they will do sticky, failover and a whole host of fancy facilities like a sorry server support (you will have seen that sort of thing on the web - "sorry our web site is down, but we will fix it when we have eaten enough donuts" sort of thing, hot contet management, decisions based on browser and langage if you want to, gif served from one bunch, jpegs another - more info will be betterfound via the datacenter->application networking forum here.

Paul.

Hi Paul,

Very helpful response, thank you! As you can probably guess, I'm a developer, not a network engineer. Anyhow, I vaguely understood I needed a router because I need multicast between the nodes of my cluster. And when I saw "Load Balancing" on my router's description, combined with the low cost - well, I thought it was a match made in heaven.

I'm pretty sure I need the kind of features that the CSS products sport. I want failover and I want sticky sessions.

When the 1801 says it can do Load Balancing, what does that mean? Can I somehow eke out the functionality I want from my snazzy router? Pardon my ignorance, but can I load more software on the router and boost its capabilities that way?

Otherwise, the Cisco CSS 11501 I looked up on CDW looks like a good fit for me. Is it essentially a router with additional features, or is it more specialized? But the price ... whoa nelly, too rich for my blood.

Cheers,

Dave Woldrich

http://CardMeeting.com

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.

Paul.

Paul, you're a lifesaver, thank you for the documentation link and the explanation. It looks like, at the very least, I have the weighted round robin and some simple sticky sessions in my router. This is enough for me, I can adapt my designs to work with the limitations of my router.

I see now how the CSS products go beyond a straight router - they do more processing at higher networking levels, much more protocol inspection. The fact that it can make intelligent decisions based on the browser/locale is pretty crazy, that's a responsibility I would normally assign to software. The sorry server feature is enterprise grade, but probably a luxury for someone like me. This stuff is very interesting, I can see why engineers get sucked in by it all.

Ok, I'll move this discussion over to the datacenter section to perhaps get some pointers on the software side of the configuration.

Thank you again for your generousity!

Dave Woldrich

You are welcome,

P.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card