Software:
News ToolsReg Shops |
Java EE clusteringMuster for the cluster busterPublished Tuesday 2nd May 2006 05:41 GMT 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.
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.
Although many architects recommend a multi-tier architecture, others consider it sub-optimal. This is for a number of reasons including:
Track this type of story as a custom Atom/RSS feed or by email.
|
Developer HeadlinesThe UK's latest developer news from MSDN |
Top 20 stories • All The Week’s Headlines • Archive • Search