Clustering in the Combined System

     

Both Lotus Domino and WebSphere offer what each calls "clustering." However, clustering in Domino is quite different than clustering in WebSphere, even though the basic concept is the same ”i.e., to have a group of servers appear as if they are one server. Clustering is a basic way for both Domino and WebSphere to provide high availability (one server in a cluster can crash but the cluster is still available and fully functional) and high scalability (just double the number of servers in the cluster, and you've doubled the capacity of the cluster).

J2EE application server vendors define a cluster as a group of machines working together to transparently provide enterprise services (support for JNDI, EJB, JSP, HttpSession and component failover, and so on). They leave the definition purposely vague, because each vendor implements clustering differently. At one end of the spectrum rest vendors who put a dispatcher in front of a group of independent machines, none of which has knowledge of the other machines in the cluster. In this scheme, the dispatcher receives an initial request from a user and replies with an HTTP redirect header to pin the client to a particular member server of the cluster. At the other end of the spectrum reside vendors who implement a federation of tightly integrated machines, with each machine totally aware of the other machines around it along with the objects on those machines. Actually, most IT devices can be comprised of "clusters" that allow the devices to be redundant and failover-capable. For example, we can cluster devices such as

  • Load balancers : Single points of entry into the cluster and traffic directors to individual Web or application servers.

  • Web servers.

  • Gateway routers : Exit points out of an internal network.

  • Multilayer switches : Packet and frame filters to ensure that each machine in the cluster receives only information pertinent to that machine.

  • Firewalls : Cluster protectors from hackers by filtering port-level access to the cluster and internal network.

  • SAN (Storage Area Networking) switches : Connect the application servers, Web servers, and databases to a backend storage medium; manage which physical disk to write data to; and failover.

  • Databases.

Regardless of how they are implemented, all clusters provide two main benefits: scalability and high availability (HA).

Scalability

Scalability refers to an application's ability to support increasing numbers of users or application data volume. Clusters allow you to provide extra capacity by adding extra servers, thus ensuring scalability.

High Availability

HA can be summed up in one word: redundancy. A cluster uses many machines to service requests ; therefore, if any machine in a cluster fails, another machine can transparently take over.

A cluster only provides HA at the application server tier . For a Web system to exhibit true HA, it must be like Noah's ark in containing at least two of everything, including Web servers, gateway routers, switching infrastructures , and so on.

Cluster Types

J2EE clusters usually come in two flavors: shared-nothing and shared-disk . In a shared-nothing cluster, each application server has its own filesystems with its own copy of applications running in the cluster. Application updates and enhancements require updates in every node in the cluster. With this setup, large clusters become maintenance nightmares when code pushes and updates are released.

In contrast, a shared-disk cluster employs a single storage device that all application servers use to obtain the applications running in the cluster. Updates and enhancements occur in a single file system, and all machines in the cluster can access the changes. Until recently, a downside to this approach was its single point of failure. However, SAN gives a single logical interface into a redundant storage medium to provide failover, failback, and scalability.

We also can implement Application Level Clustering. Domino Clustering falls into that category. Of course, clustered servers also can relate to the Chapter 14 topic of Performance and High Availability. In Chapter 13, "Clustering," we give details on how to implement clustering for both Domino and WebSphere.



IBM WebSphere and Lotus Implementing Collaborative Solutions
IBM(R) WebSphere(R) and Lotus: Implementing Collaborative Solutions
ISBN: 0131443305
EAN: 2147483647
Year: 2003
Pages: 169

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net