tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anil Ranka" <>
Subject Re: Help with Tomcat Clustering and load balancing
Date Fri, 29 Sep 2006 14:18:58 GMT
  Thanks for detail scenario. I am working on a product which should run on
any platform. I am looking for a very generic solution which can run on any

Any pointers.

Anil S. Ranka

On 9/29/06, Pascal Bleser <> wrote:
> Anil Ranka wrote:
> >  I am new with Tomcat Clustering feature. I have configured my three
> > tomcats nodes in cluster mode and they are talking to each other no
> issues.
> > Out these three nodes N1, N2 and N3 only one node will be ACTIVE node
> and
> > rest two will be PASSIVE. ACTIVE means my app will be loaded on only one
> > node. When this ACTIVE node goes down, using clustering mechanism I am
> able
> > to load my APP on next node from list. This scenario works very well.
> !!!!
> > NO ISSUES!!!
> I presume that means you are using session replication (probably in
> "pooled" mode) across the Tomcat nodes.
> > Now to out side world I have to give URL so that they can submit jobs to
> > this clustered nodes. Here I get lost. I am assuming I need load
> > balancer/proxy will which will route my request to ACTIVE node.
> You don't need a load balancer, as you have a hot standby scenario
> and, hence, only one Tomcat node is active at a time.
> A load balancer is only needed when you want to use several Tomcat
> nodes in parallel (hence, "active/active" scenario).
> > My question is : How to configure load balancer/proxy server to route my
> > request to any specific ACTIVE node.
> Well, you have a vast number of options especially if you consider a
> more mature server platform (e.g. Linux), which offers a lot of
> technical solutions to this problem.
> On Linux, I would say that one of the most robust solutions is to use
> two Tomcat nodes with heartbeat [1] and a VIP (Virtual IP address).
> With this approach, an IP address is configured as an IP alias on the
> active node (that's the "VIP"). Just map your DNS name to that VIP
> instead of the "real IPs" of the nodes.
> With heartbeat, the Tomcat nodes will monitor each other and when the
> active node fails to service (either dies completely, e.g. hardware
> failure, taken down for maintainance, Tomcat crashes or just fails to
> service a request in a specified amount of time (= load is too high)),
> the other node will perform a takeover.
> In this case, a takeover just means to move the VIP address to the
> fallback node, which then becomes the active one (this works very
> reliably, using RARP).
> This is a very stable and tested architecture, works extremely well.
> Once heartbeat is set up correctly on both nodes, it just runs and
> runs. Rock solid from my experience (even with much more complex
> scenarios such as combined with Linux Virtual Server, shared storage,
> rinetd and mon).
> Another option is to put a director node in front of the Tomcat nodes.
> There, again, a lot of different options can be used.
> A very simple (and effective) one is to use "pen" [2]:
>   pen -e 80
> The example above will make pen listen on port 80 and redirect to
> on port 8080. When is not reachable, it will
> redirect to instead (also on port 8080), called the
> "emergency node" (-e).
> For further details, consult the pen documentation at [2].
> To avoid having the director as a single point of failure (using
> VRRP), read [3]
> The same can be done without having director nodes, see [4]
> Other options are Apache2 with mod_jk, LVS [5], haproxy [6], ...
> [1] heartbeat:
> [2] pen:
> [3]
> [4]
> [5]
> [6] and
> hope this helps
> --
>   -o) Pascal Bleser               ATOS Worldline/Aachen(DE)
>   /\\   System Architect              WLP Business Platform
> _\_v "Really, I'm not out to destroy Microsoft.  That will
> just be a completely unintentional side effect."-L.Torvalds
> ---------------------------------------------------------------------
> To start a new topic, e-mail:
> To unsubscribe, e-mail:
> For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message