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've surfed the web and tried to find a way in order to make a tomcat cluster with no single point of failure , and all what I have found is that I need something called dispatcher which will be Apache web server in this case , and two tomcat servers.

The dispatcher will receive the requests and hands over these requests to tomcat servers, but what if the Apache web server is down, how can I overcome this point of failure?

share|improve this question

migrated from Oct 11 '11 at 11:22

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

You can use a cluster of two machines that can each run a tomcat instance behind apache.

I would suggest a simple failover design where both machines share configurations for listening on the same IP but that IP wanders between them and in case of a failover the other host takes over the IP and starts the services. You will most likely also need a redundant database setup. Honestly ask someone with experience in that field to do that installation for you as it is nothing that one learns all thats worth to know about in a just a day.

share|improve this answer

If you are worried about a process not running, monit ( is very good at keeping track of processes. I have used this in high available situations, it will alert and restart upon failure (or alert if restart failed) and check via a TCP connect along with PID currently used to inform you if a process changed / isn't running / cannot connect / etc.

I do agree on the back end (if you are using a database) that it should be replicated. You can use a tungsten topology and you can then take databases offline and no end-user would be the wiser.

LVS is always a great tool for load balancing, and directing web traffic. You can remove web servers from your LVS loop to perform maintenance as well.

You would also want to take network into concern, if you have 2 NICs (as most servers do), then I would run them into different switches and ensure the switches reside on different PDUs on different power circuits so you can lose a power circuit and still keep network traffic going internally (as you can float your internalLVS IPs to your second network interface on said server).

You routers/firewalls should be configured for failover as well.

Just some food for thought.

share|improve this answer

Your Answer


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