A dynamic cluster is meant to improve performance of the application servers in the cluster. For example, a dynamic cluster with vertical JVMs can reduce bottlenecking.
There are two types of clusters:
Usually, a horizontal cluster is preferred. In a horizontal cluster, JVMs that reside on different physical machine are clustered. The obvious advantage to a horizontal cluster is that if one physical server goes down, the other physical server can continue to produce the applications in the JVM, resulting in high-availability. Also, from a systems engineer perspective, a horizontal cluster lets the engineer do work on one cluster member without bringing down the applications being produced by the JVMs in the cluster. For example, the engineer could bring down the server01 JVM, patch the server, restart the JVM, and bring it back up, without causing an outage, as the server02 JVM can still produce the application.
In a vertical cluster, JVMs that reside on the same physical machine are clustered. Similar to a horizontal cluster, a vertical cluster lets the engineer do work on one cluster member without bringing down every JVM. However, if the physical server goes down, the entire cluster also goes down.
Dynamic clustering is appealing if you have vertical JVMs, as a dynamic vertical cluster can reduce bottlenecking issues with the applications in the vertical JVMs. This is accomplished by setting the placement controller to start more than one instance of the dynamic cluster on a node. Once set, the percentage of CPU that can be used by each instance is limited by the autonomic manager. For example, if there are two JVMs in the dynamic vertical cluster, each JVM would be permitted 50% of the CPU.
Create new cluster with new JVMs.
- In the left panel of the WebSphere web console, expand Servers > Clusters, and select Dynamic clusters.
- Select New.
- At Step 1, select WebSphere application server and select Next.
- At Step 2, select Automatically define new cluster members with rule or Manually define cluster members and select Next.
- At Step 3, if you selected Manually define cluster members, select an existing non-dynamic cluster and select Next.
- At Step 5, select your preferred properties, and select Next.
- Select Finish.
- Select Save.
The cluster will no longer be listed at Servers > Clusters > WebSphere application server clusters, and will instead be listed at Servers > Clusters > Dynamic clusters.
At Servers > Server types > WebSphere application servers, the servers in the cluster will be listed. In this example, server01 is not part of a cluster, and server03 and server04 are members of cluster1. This view also can be used to know if the JVMs are in a vertical or horizontal cluster. In this example, server03 and server04 are in a horizontal cluster, as the servers are on different servers (was1 / was2).
Servers > Clusters > Dynamic clusters > cluster_name > Dynamic cluster members will display the cluster members.
Since web service applications do not have a UI and are not fronted by a web server, there isn’t a need for session and context replication between web services JVMs. These apps should be stateless, meaning an invocation of the app shouldn’t be dependent on data created/updated in session or context from a previous call. It may be reasonable to not cluster web services JVMs.