Tomcat Cluster

http://blog.digital-morphosis.com/2010/08/tomcat-cluster-configuration-without.html - printed
http://blogs.agilefaqs.com/2009/11/09/setting-up-tomcat-cluster-for-session-replication/ - printed
http://code.google.com/p/memcached-session-manager/ - printed
http://help.adobe.com/en_US/ColdFusion/10.0/Admin/WSc3ff6d0ea77859461172e0811cbf363c31-7ffa.html - printed
http://networkstepbystep.blogspot.com/2008/09/hardware-load-balancers.html - printed
http://stackoverflow.com/questions/9067979/is-tomcat-clustering-only-way-for-session-replication
http://www.datadisk.co.uk/html_docs/java_app/tomcat6/tomcat6_clustering.htm - printed
http://www.easywayserver.com/implementation-tomcat-clustering.htm - printed
http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html - printed
http://www.javacodegeeks.com/2012/11/tomcat-clustering-series-part-1-simple-load-balancer.html - printed
https://www.mulesoft.com/tcat/tomcat-clustering - printed
http://www.mulesoft.com/tomcat-cluster - printed
http://www.openlogic.com/blog/bid/215898/Enterprise-Apache-Tomcat-7-Clustering-Designing-an-Efficient-Reliable-and-Productive-Application-Server-Cluster - printed
http://www.richardnichols.net/2010/08/5-minute-guide-clustering-apache-tomcat/ - printed
http://www.tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform - printed

https://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html - printed
https://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html - printed
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster.html - printed
https://tomcat.apache.org/connectors-doc/generic_howto/workers.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-listener.html
https://tomcat.apache.org/tomcat-6.0-doc/balancer-howto.html
https://tomcat.apache.org/tomcat-6.0-doc/tribes/introduction.html
http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Channel.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-manager.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-channel.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-membership.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-receiver.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-sender.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-interceptor.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-valve.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-deployer.html
https://tomcat.apache.org/tomcat-6.0-doc/config/cluster-listener.html
http://blog.jelastic.com/2013/07/22/tomcat-cluster-in-the-cloud/
http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
http://wiki.apache.org/tomcat/FAQ/Clustering
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-listener.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-deployer.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-valve.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-sender.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-interceptor.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-receiver.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-membership.html
http://tomcat.apache.org/tomcat-6.0-doc/tribes/introduction.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-channel.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-manager.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster.html
http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/tribes/Channel.html
/docs/cluster-howto.html (simple how-to)
/docs/config/cluster.html (reference documentation)
http://wiki.apache.org/tomcat/FAQ/Clustering
http://www.rotanhanrahan.com/2012/01/06/tomcat-cluster-apache-lbr-and-replication

http://stackoverflow.com/questions/16460716/session-replication-and-clustering-in-tomcat
http://stackoverflow.com/questions/2711701/tomcat-session-stickiness-in-session-replication
http://tomcat.10.x6.nabble.com/Preferred-configuration-with-Hardware-Loadbalancer-td2045452.html
https://confluence.sakaiproject.org/display/DOC/Sakai+Admin+Guide+-+Advanced+Tomcat++%28and+Apache%29+Configuration
http://www.tokiwinter.com/highly-available-load-balancing-of-apache-tomcat-using-haproxy-stunnel-and-keepalived/
http://java.dzone.com/articles/clustering-tomcat-servers-high
http://grokbase.com/p/tomcat/users/137r9xpyry/ot-enable-session-persistence-between-two-tomcat-nodes-behind-load-balancer
http://grokbase.com/t/tomcat/users/137mnnhbfv/enable-session-persistence-between-two-tomcat-nodes-behind-load-balancer
http://www.theserverside.com/news/1365188/Clustering-Technologies-In-Memory-Session-Replication-in-Tomcat-4
http://fabien.carrion.free.fr/tomcat/cluster-jms-howto.xml

Cluster using mod_proxy
Clustering using mod_jk
Session Replication
Session Replication Without Using IP Multi-casting

What is load balancing, what is clustering and what is session replication?

The main point here is that we can set up session replication regardless of how we configure load balancing or clustering.

Can we configure session replication without clustering or load balancing?

Yes. For example, if you have a hardware load balancer, you do not have to use software clustering or load balancing. You can just configure session replication if necessary (if your load balancer cannot handle stickiness correctly)

What logging framework does Tomcat Cluster module use?

Tomcat Cluster module uses the Tomcat JULI logging framework, so you can configure logging through the regular logging.properties file. To track messages, you can enable logging on the key org.apache.catalina.tribes.MESSAGES

What is dynamic clustering?

By setting up a dynamic Tomcat cluster environment where you can add or remove servers dynamically based on the user load, you can implement a sort of Tomcat platform as a service (PaaS) that ably addresses the problem of resource utilization. See http://www.devx.com/Java/Article/48086

How can we make our web application distributable via the <distributable/> tag in web.xml?

Adding the <distributable/> tag to web.xml indicates that this application can work in a distributed environment. However, there are specific requirements that our application must satisfy before we can say that it is distributable. All things that are stored inside the session must be serializable.

Add <distributable/> to web.xml such that it is direct descendant of the root web-app node:

  <distributable/>
</web-app>

How can we add more load balancers?

Load balancer also faces single point of failure. To resolve this, we need to add more load balancers with public address and update our DNS server so that our domain / host name resolves to multiple IP addresses. When the browser want to access example.com, it first ask DNS server which returns multiple IP addresses. The browser take the first IP address and try to connect, and if in case the first IP address fails, the browser contact the second IP address, and so on. For example:

nslookup google.com

returns 11 IP addresses. These are all load balancers that Google uses. These load balancers are located in various geographical locations. DNS servers do not return same order of IP list to the browser. Each and every time, DNS server rotate (round robin) the IP list. If your DNS is hosted by UltraDNS, Akamai, AWS Route 53, etc, their DNS servers can take into consideration the geo-location of the user so that the load balancer that is selected by the browser is likely to be the closest to the user.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License