Pascal, 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 platform.
Any pointers. Anil S. Ranka On 9/29/06, Pascal Bleser <[EMAIL PROTECTED]> 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 192.168.1.2:8080 80 192.168.1.1:8080 The example above will make pen listen on port 80 and redirect to 192.168.1.1 on port 8080. When 192.168.1.1 is not reachable, it will redirect to 192.168.1.2 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: http://linux-ha.org/ [2] pen: http://siag.nu/pen/ [3] http://siag.nu/pen/vrrpd-linux.shtml [4] http://siag.nu/pen/vrrpd-linux2.shtml [5] http://www.linuxvirtualserver.org/ [6] http://haproxy.1wt.eu/ and http://haproxy.1wt.eu/download/1.2/doc/haproxy-en.txt 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: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]