Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

i was wondering if it is possible to load balance and create a high availability environment using network switches? Or do i need a real apache server in front of the tomcat servers?

share|improve this question

migrated from Jul 12 '11 at 15:39

This question came from our site for professional and enthusiast programmers.

To expand on Guacamole's answer a little bit.

Proper switch design is a large part of a proper HA solution. However, you are working at the wrong level to think that they will make your tomcat installation HA. Switches are a Layer 2 (sometimes also 3) device, while you are talking about making layer 7 HA.

To get a proper HA solution in place, you need to take a look at your stack from the ground (Layer 1) up (layer 7) and ask your self "what would happen if this piece of the stack no longer existed." Then you can start to design a scalable HA solution for your stack.

There are many great options out there from the paid F5 and Cisco gear to the Open Source HAProxy, LVS, etc. But first you need to evaluate your entire infrastructure and find out exactly where your single points of failure are and put the right solutions in. You may find after doing some evaluations, that there are products that will fix multiple SPoFs that you would have overbought for otherwise.

share|improve this answer

There are many web services load-balancing solutions available...

  • Many companies use F5 BigIP LTM for load-balancing solutions.
  • Cisco's ACE is also an option; see this ACE link if the original above is dead (which Cisco seems to do almost monthly)

There are a few open-source solutions as well...

The real answer to the question depends on how you plan to load-balance... will it depend on your server's http response time, CPU utilization, bandwidth, per-http-session, etc... The options above may or may not be so great at your particular use-case... although as a general solution, it's hard to beat F5.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.