Add a cluster to a bus for high availability or scalability
We can add a cluster as a member of a bus and use messaging engine policy assistance and a predefined messaging engine policy that provides high availability, scalability, or scalability with high availability. Messaging engine policy assistance helps create and configure the messaging engines in a cluster to provide the required messaging engine behavior.
Ensure that we have defined the resources listed in Add a cluster as a member of a bus.
The following predefined messaging engine policies are available:
- High availability. Use the high availability policy when we want to ensure that there is always a messaging engine running in that cluster, so that messages are always transmitted.
The high availability messaging engine policy creates a single messaging engine for the cluster. The messaging engine is configured to fail over to any of the other servers in the cluster. The order in which the servers are used for failover depends on their order in the preferred servers list. The earlier the server in the preferred servers list, the stronger the preference for that server. The messaging engine does not fail back, that is, if a more preferred server becomes available again, the messaging engine does not move back to that server.
- Scalability. Use the scalability policy for a system where we want to add more servers to a cluster and maintain the performance.
The scalability messaging engine policy creates a single messaging engine for each server in the cluster. Each messaging engine can run only on the server that it is assigned to, and it cannot fail over to another server. If a server fails, the messaging engine running on it also fails, and is not available until the server recovers. We can add new servers to the cluster without affecting existing messaging engines in the cluster.
- Scalability with high availability. Use the scalability with high availability policy for a system where we want to add more servers to a cluster and maintain the performance, but you also want to ensure that messaging is always available.
The scalability with high availability messaging engine policy creates a single messaging engine for each server in the cluster. Each messaging engine can fail over to one other specified server in the cluster. Each server can host up to two messaging engines, such that there is an ordered circular relationship between the servers. Each messaging engine can fail back, that is, if a messaging engine fails over to another server, and then the original server becomes available again, the messaging engine automatically moves back to that server.
We can optionally tune the initial and maximum JVM heap sizes. Tuning the heap sizes helps to ensure that application servers hosting one or more messaging engines are provided with an appropriate amount of memory for the message throughput you require.
If we are working in a mixed-version cell, a service integration bus running in this version of the product can only include WebSphere Application Server v6 bus members running in the following versions of the product:
- 6.0.2 (Fix Pack 23 or later)
- 6.1.0 (Fix Pack 13 or later)
If security is enabled, and the bus has mixed-version bus members, the bus members establish trust using an inter-engine authentication alias. If we add a server cluster as a bus member at WAS v6, and it is the first bus member at this level, select or create an authentication alias during this task. This action sets the inter-engine authentication alias.
Tasks
- In the navigation pane, click Service integration -> Buses -> bus_name -> [Topology] Bus members.
- Click Add to start the Add a new bus member wizard.
- In the first pane, select Cluster, and, from the drop-down list, select the cluster to make a member of the bus.
- In the Messaging engine policy assistance settings pane, ensure that the Enable messaging engine policy assistance check box is selected. Select one of the following options, depending on the messaging engine policy that you require:
- High availability
- Scalability
- Scalability with high availability
If the value of the "Is further configuration required" column for the selected messaging engine policy is No, continue with the procedure. Otherwise, examine the messages displayed and decide whether to go back and change the cluster configuration, or to continue. A diagram of the selected cluster and the eventual outcome of the selected messaging engine policy is displayed.
- Select the type of message store that we have already defined.
- In the Configure messaging engines pane, for each messaging engine listed, click the messaging engine name and enter details for its message store.
- If we use a file store, specify the directory paths for the log files, the permanent file store, and the temporary file store. Do not use the default path, and ensure that we use a unique path for each messaging engine.
- If we use a data store, specify the JNDI name of the data source that provides access to the database that holds the data store.
- Optional: In the Tune performance parameters pane, we can view the current settings of the initial and maximum Java Virtual Machine (JVM) heap sizes. To tune performance by changing the current settings, select the Change heap sizes check box and enter the required changes in the Proposed heap sizes fields.
- If security is enabled, and adding this cluster bus member creates a mixed-version bus, the wizard prompts for an authentication alias. Do one of the following:
- Select an existing authentication alias.
- Create a new authentication alias. Specify a unique alias name and password.
This action sets the inter-engine authentication alias.
- When the Add a new bus member wizard is finished, save our changes to the master configuration.
We have created a cluster bus member.
- For the high availability messaging engine policy, there is a single messaging engine, named cluster_name.nnn-bus_name, which can fail over to any of the servers in the cluster.
- For the scalability messaging engine policy, there is one messaging engine for each server in the cluster, named cluster_name.nnn-bus_name. Each messaging engine in the cluster is restricted to running on one server.
- For the scalability with high availability messaging engine policy, there is one messaging engine for each application server in the cluster, named cluster_name.nnn-bus_name. Each messaging engine in the cluster can fail over to one other specified server in the cluster, and can fail back to its preferred server if that server becomes available again.
For each messaging engine, there is a core group policy named messaging_engine_name-numberPolicy. This core group policy is configured with the behavior we chose for the messaging engine policy, and is associated with the messaging engine through its match criteria.
Related:
High availability messaging engine policy Scalability messaging engine policy Scalability with high availability messaging engine policy Add a cluster to a bus with a custom configuration Add a cluster to a bus without using messaging engine policy assistance Secure links between messaging engines Tune messaging performance with service integration