Feeds

Java EE clustering

Muster for the cluster buster

Combat fraud and increase customer satisfaction

Enterprise-oriented systems must often be both scalable to deal with changing performance requirements and available 24x7 (or at least very close to this level of availability).

Java systems, whether they are J2EE or Java EE 5 (collectively called Java EE in this article), are no exception. In many cases, the best way to provide for ease of scalability and high availability of the deployed system is to employ a Java EE cluster.

A Java EE cluster is a cluster of application server instances. Within such a cluster each application server instance typically contains the same set of Java EE components (such configurations are known as homogeneous configurations, heterogeneous configurations are also possible with some Application Server systems). Some form of load balancing technology that allows any clients to view the whole cluster as a single server may then front these clustered servers. Thus if any particular server within the cluster fails, this should have little or no impact on the clients. In addition, if additional processing power is required adding additional servers to the cluster can provide this.

Cluster configurations

As well as issues such as where the members of the cluster are heterogeneous or homogenous, it is also necessary to consider whether they managed both the web tier and the EJB tier or just one tier in an enterprise application.

One of the most common approaches is often referred to as the "Co-located tier architecture". In this approach all tiers of the web application are deployed onto the same Application Server cluster - Figure 1 illustrates this.

Diagram showing a Co-located replication cluster architecture.

The advantages of the co-located tier architecture are its simplicity and robustness. However, with this simplicity comes some limitations. For example, in such an architecture, it is not possible to load balance and fail-over the EJB tier separately from the web tier. To some extent the benefits of this may depend on the Application Server being used. For example, it may be that for web applications to take advantage of load balanced EJBs, those EJBs must be operating within a separate cluster.

By contrast, a multi-tier architecture involves separate deployment of the web container tier and the EJB container tier. These tiers may be clustered separately or jointly. One of the benefits of this approach is the provision of load balancing at each tier in the hierarchy – Figure 2 illustrates this.

Diagram showing Multi-tier clustering.

Although many architects recommend a multi-tier architecture, others consider it sub-optimal. This is for a number of reasons including:

  • Additional effort is required to provide two separate load balancers that handle different technologies (i.e. HTTP and RMI/IIOP) with potentially different algorithms. This is extra work for the system that may be of limited benefit.
  • All communication between the web tier and the EJB tier must now use inter cluster communication. This is less efficient that communication within a server cluster.
  • Most vendors implement their server architecture in such a way that both the web tier and the EJB tier, when co-located share a JVM, thus if the EJB tier dies then so does the associated web tier. If dispatching/load balancing fronts the servers, then the next request will merely be routed to a new co-located server. This is a simpler solution to implement and maintain.
  • Most Application Server vendors (such as WebLogic) will optimize the EJB load balancing mechanism to let requests first choose the EJB container in the same server. In this way load balancing must only be performed manually at the first level of requests.

SANS - Survey on application security programs

More from The Register

next story
Ubuntu 14.04 LTS: Great changes, but sssh don't mention the...
Why HELLO Amazon! You weren't here last time
Next Windows obsolescence panic is 450 days from … NOW!
The clock is ticking louder for Windows Server 2003 R2 users
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
prev story

Whitepapers

Mainstay ROI - Does application security pay?
In this whitepaper learn how you and your enterprise might benefit from better software security.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Top three mobile application threats
Learn about three of the top mobile application security threats facing businesses today and recommendations on how to mitigate the risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.