provides software and services that enable enterprises
Live Chat 1-888-673-6564
The Enterprise Open Source Blog
  • Home
  • Search
  • Contact Us
  • Products and Support
  • Services
  • Enterprise OSS Blog
  • Wazi Technical Blog
  • Resources Library
  • Cloud Services
  • Partners
  • Customers
  • Community
  • Company
  • Careers
  • News and Events

Subscribe by Email

Your email:

Most Popular Posts

  • Enterprise Apache Tomcat 7 Clustering - Designing an Efficient, Reliable and Productive Application Server Cluster
  • Open Source Virtual Whiteboards and Dimdim Review
  • An Enterprise Apache Tomcat Clustering Guide
  • Supporting CentOS In The Cloud With Windows Azure
  • VLC License Change: A lesson in perseverance
  • An In-Depth Look at Tomcat’s Clustering Mechanisms
  • Apache HTTP Server: New Features for Version 2.4
  • Why Closed Source is Better Than Open Source
  • Access Serial Ports through Ruby
  • JBoss AS7 Clustering Using mod_cluster and http 2.4 (Part 1)

Connect With Us!

Current Articles | RSS Feed RSS Feed

An In-Depth Look at Tomcat’s Clustering Mechanisms

Posted by Andrew Carr on Wed, Jun 27, 2012
  
Email This Email Article  
Tweet  
  

This post is part 1 of a 3 part blog series that will look at leveraging Apache Tomcat clustering, in order to increase your system’s availability.

The entire series of posts will include:

  1. What is clustering & why should you cluster your tomcat application servers?
  2. Different clustering setups and choosing the best for I.T. infrastructure
  3. Example configurations and common issues

Please feel free to leave your comments, questions, or suggestions at the bottom of the post.

The dangers of “unreliable” systems

Running apache tomcat as an application container for revenue generating applications is a decision many companies make every day.  Unfortunately, this is where the decision making stops.  The design should continue to include a system configuration that will protect these cash generating applications even in the event of catastrophic system failure.  This is where tomcat clustering plays a role.  By implementing a solid clustering design you protect your company from systems failure

What is clustering?

Clustering, when referring to Information Technology systems, is two or more independent interconnected systems (nodes,) interlinked to provide reliability.  Reliability can come in the form of higher availability (HA,) improved scalability, improved application availability and ease of maintenance.

Independent interconnected systems sounds complicated, although it is not.  In the case of this blog we are referring to tomcat systems.  An instance of tomcat is an independent system.  Clustering instances of tomcat makes them interconnected.  Tomcat instances in a tomcat cluster are often referred to as a node. (Individual components in any network configuration can normally be referred to as nodes, but for the duration of this blog, we are referring to nodes as tomcat instances.)

A tomcat cluster is a group of tomcat instances that are connected.  There are different ways that they can be connected.  The tomcat instances can be running on the same physical device, same virtual device, or disparate systems.  There are many different options when it comes to clustering tomcat, and we will discuss these in detail later in this blog.

 

Why should you cluster?

Clustering can solve different problems.  For instance, you have a web application, serving approximately five thousand concurrent requests, running on your server.  Under this load, your single server is maxed out.  New users are receiving “404” errors. Supporting larger numbers of concurrent requests is one of the advantages of high availability clustering.  The goal of HA clustering is the “five nines,” and we will discuss this later.

Another example of a problem clustering is the solution for, failover.  If your business is running a web application that earns income for your business and this web application is running in a non-clustered environment, you are at risk.  If your application is on a tomcat server that is not clustered and the tomcat server fails, that source of revenue stops generating money every second the system is down.  Setting up a simple tomcat cluster containing two instances, this issue is preventable.  In a properly configured cluster, all requests to the failed server will be directed to the remaining working instance.  This will preserve your revenue stream even if there is performance degradation from losing 50% of the nodes in the cluster.

These are just some examples of why it pays off to cluster tomcat, or at least research a little more.  In addition to these examples above, tomcat improves your systems ‘availability’.  High availability is a goal that many companies seek to improve the appearance and availability of their services.

A normal system’s yearly average uptime is called it’s ‘availability.’  High-availability is a pre-arranged, contracted level of performance that will be maintained during the contract length.  Granted, that is not very easy to understand.  An example of high-availability could be:  your web server is guaranteed to be available 99.999% of the time (“five nines.”)  This means that in a given year the server will have a maximum of 5.26 minutes of unscheduled downtime a year.

To achieve High-Availability you need to implement geographic separation.  Geographic separation, in regards to our server configuration, is installing nodes of the cluster in geographically different locations.  This provides safety against regional power outages and other locational risks like storms and floods.

What clustering setup is best for my architecture?

In the next installment of this blog we will discuss the different clustering configurations.  Additionally, we hope to help you choose which clustering configuration fits you and your business the best.

The information contained in this blog is good motivation to rethink your single application service instance design.  If you follow along in the next part of this series, we will give you the information you need to build a reliable, stable, and available application container platform.

 

2c0d2a7c-4baa-4a88-a426-b5de1deaf62e


Subscribe to The Enterprise Open Source Blog via email

Follow @openlogic
Follow @CloudSwing

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.

Follow @openlogic
Follow @OSCloudServices

This work is licensed under a Creative Commons Attribution 3.0 Unported License
Creative Commons License.
Tags: DevOps, Support, OSS Packages

Comments

Currently, there are no comments. Be the first to post one!
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Loading...
Error sending email
Email sent successfully

Email article
Email To : 
Your name : 
Message : (maximum 200 characters)

Enterprise OSS Blog Policy

If you read a post on The Enterprise OSS Blog, please leave a comment. Let us know what you think, even if it's just a few words. Comments do not require approval, but they are moderated.OpenLogic reserves the right to remove any comments it deems inappropriate.

 

click-to-chat-with-a-live-open-source-expert

get-a-quote-on-support

download-the-support-evaluation-kit

Browse by Tag

  • 2013 (2)
  • Agile (1)
  • Apache (2)
  • apache tomcat (1)
  • AS 7 (1)
  • as7 (1)
  • Auditing (5)
  • Azure (2)
  • Budget (1)
  • BusyBox (1)
  • CentOS (3)
  • Closed Source Software (1)
  • cloud (4)
  • clustering (1)
  • CMS (1)
  • Code Scanning (1)
  • commercial distribution (1)
  • Community (4)
  • compliance (40)
  • C-Suite (1)
  • Database (1)
  • developers (2)
  • DevOps (15)
  • diploma (1)
  • Drupal (1)
  • enterprise software (2)
  • foss (5)
  • Gitbhub (1)
  • GNU-Bash (1)
  • Governance (36)
  • guide (1)
  • Hadoop (2)
  • HBase (2)
  • http 2.4 (1)
  • httpd 2.4 (1)
  • Java (1)
  • javascript (1)
  • jboss (3)
  • JBoss Cluster (1)
  • Joomla (1)
  • Legal (21)
  • Legal & Compliance (62)
  • Legal and Compliance (2)
  • license compliance (1)
  • Licenses (12)
  • Linux (4)
  • lisp code (1)
  • martin fowler (1)
  • Mobile (3)
  • mod_cluster (2)
  • MySQL (1)
  • Neal Ford (1)
  • open source (19)
  • open source compliance (1)
  • open source components (1)
  • open source events (1)
  • Open Source Governance (2)
  • open source legal issues (1)
  • Open Source Licensing (3)
  • Open Source Management (38)
  • Open Source Policy (3)
  • open source software (15)
  • Open Source Software Adoption (4)
  • open source software policy (1)
  • Open Source Training (1)
  • Open Source Trends (337)
  • Open Source vs. Commercial Software (3)
  • OSS (5)
  • OSS Packages (2)
  • PaaS (1)
  • paredit (1)
  • picketlink (1)
  • Policy (4)
  • PostgreSQL (1)
  • Presentations (1)
  • Programming (2)
  • red hat (1)
  • RHEL (1)
  • Ruby (1)
  • Scanning (27)
  • Scanning & Governance (12)
  • Scanning & Provisioning (30)
  • Security (13)
  • Shibboleth (1)
  • software compliance (1)
  • Software Development (2)
  • Software Development Lifecycle (7)
  • software infrastructure (1)
  • Solr (1)
  • struts (1)
  • Support (48)
  • Support & Services (2)
  • SUSE (1)
  • Technical Governance (1)
  • The Cloud (35)
  • The C-Suite (2)
  • tomcat (4)
  • Training (10)
  • Ubuntu (1)
  • Uncategorized (69)
  • Windows (1)
  • Windows Azure (1)
  • Wordpress (1)
  • Zookeeper (1)
Home | Search | Contact Us | Products and Support | Services | Enterprise OSS Blog | Wazi Technical Blog | Resources Library | Cloud Services | Partners | Customers | Community | Company | Careers | News and Events
Products
OpenLogic Exchange (OLEX)
License Compliance Module
OSS Discovery
OSS Deep Discovery
OpenUpdate
Services
Open Source Support
CentOS Support
Scanning & Compliance
Open Source Training
Professional Services
Solutions
Support & Indemnification
Open Source Governance
Open Source Scanning
Open Source Provisioning
Consulting & Training
Contact Us
1-888-673-6564


© 2013 OpenLogic, Inc. All rights reserved.
Site Map  |  Privacy Policy